| パッケージ | mx.validators |
| クラス | public class RegExpValidator |
| 継承 | RegExpValidator Validator EventDispatcher Object |
| 言語バージョン: | ActionScript 3.0 |
| 製品バージョン: | Flex 3 |
| ランタイムバージョン: | Flash Player 9, AIR 1.1 |
expression プロパティを使用してバリデーターに正規表現を渡します。正規表現のパターンマッチングを制御するフラグがあれば、flags プロパティを使用して渡します。
バリデーターが検証対象のフィールドで正規表現に一致するものを検出できた場合、検証は成功です。 バリデーターが、一致を検出できなかった場合は、検証エラーが発生します。
RegExpValidator クラスは、valid イベントと invalid イベントを送出します。 invalid イベントの場合、イベントオブジェクトは ValidationResultEvent クラスのインスタンスで、ValidationResult オブジェクトの配列を含んでいます。
一方、valid イベントでは、ValidationResultEvent オブジェクトに RegExpValidationResult オブジェクトの配列が格納されます。 RegExpValidationResult クラスは ValidationResult クラスの子クラスで、次のような正規表現で使用される追加のプロパティを含んでいます。
-
matchedIndexは、一致した入力ストリング中の開始インデックスを含む整数を表します。 -
matchedStringは、正規表現と一致する入力ストリングのサブストリングが含まれたストリングを表します。 -
matchedSubStringsは、ストリングの配列を表します。一致するサブストリングが存在する場合は、そのサブストリングが括弧に囲まれた状態で配列内に格納されます。 サブストリングに一致するものが見つからない場合、この配列の長さは 0 です。matchedSubStrings[0] を使用すると最初にサブストリングが一致したものにアクセスできます。
MXML シンタックスを隠すThe <mx:RegExpValidator> tag
inherits all of the tag attributes of its superclass,
and adds the following tag attributes:
<mx:RegExpValidator
expression="No default"
flags="No default"
noExpressionError="The expression is missing."
noMatchError="The field is invalid."
/>
関連する API エレメント
| プロパティ | 定義元 | ||
|---|---|---|---|
![]() | constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | |
![]() | enabled : Boolean
この値を false に設定すると、バリデーターによる検証が行えなくなります。 | Validator | |
| expression : String
検証に使用する正規表現を表します。 | RegExpValidator | ||
| flags : String
一致処理を行う場合に用いられる正規表現フラグを表します。 | RegExpValidator | ||
![]() | listener : Object
検証のリスナーを指定します。 | Validator | |
| noExpressionError : String
正規表現が指定されていない場合に発生するエラーメッセージを表します。 | RegExpValidator | ||
| noMatchError : String
正規表現と一致するデータが存在しない場合に発生するエラーメッセージを表します。 | RegExpValidator | ||
![]() | property : String
検証する値を含む source オブジェクトのプロパティの名前を指定するストリングを表します。 | Validator | |
![]() | required : Boolean = true
true の場合、検証エラーの原因となる欠損値または空値を指定します。 | Validator | |
![]() | requiredFieldError : String
値が欠損し、required プロパティが true の場合に発生するエラーメッセージです。 | Validator | |
![]() | source : Object
検証するプロパティを含むオブジェクトを指定します。 | Validator | |
![]() | trigger : IEventDispatcher
バリデーターをトリガーするイベントの生成を行うコンポーネントを指定します。 | Validator | |
![]() | triggerEvent : String
検証をトリガーするイベントを指定します。 | Validator | |
| メソッド | 定義元 | ||
|---|---|---|---|
コンストラクター
| RegExpValidator | ||
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。 | EventDispatcher | |
![]() |
イベントをイベントフローに送出します。 | EventDispatcher | |
![]() |
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。 | EventDispatcher | |
![]() |
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | |
![]() |
MXML タグを使用してバリデーターを作成したときに、MXML コンパイラーによって自動的に呼び出されます。 | Validator | |
![]() |
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | |
![]() |
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | |
![]() |
EventDispatcher オブジェクトからリスナーを削除します。 | EventDispatcher | |
![]() |
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | |
![]() |
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | |
![]() |
指定されたオブジェクトのストリング表現を返します。 | Object | |
![]() |
検証を実行し、リスナーに任意で結果を通知します。 | Validator | |
![]() | [静的]
validators 配列に含まれるすべてのバリデーターを呼び出します。 | Validator | |
![]() |
指定されたオブジェクトのプリミティブな値を返します。 | Object | |
![]() |
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。 | EventDispatcher | |
| メソッド | 定義元 | ||
|---|---|---|---|
![]() |
バリデーターから送出された valid イベントおよび invalid イベントのすべてのリスナーを設定します。 | Validator | |
[オーバーライド]
正規表現の妥当性を検証する上で基本クラスの doValidation() メソッドをオーバーライドします。 | RegExpValidator | ||
![]() |
検証するオブジェクトを返します。 | Validator | |
![]() |
エラー結果の配列から ValidationResultEvent を返します。 | Validator | |
![]() |
value が null でない場合、true を返します。 | Validator | |
![]() |
バリデーターから送出された valid イベントおよび invalid イベントのすべてのリスナーを切断します。 | Validator | |
![]() |
このメソッドは、バリデーターが作成されたときと、ResourceManager が "change" イベントを送出してローカライズされたリソースが何らかの点で変更されたことを示すときに再び呼び出されます。 | Validator | |
expression | プロパティ |
flags | プロパティ |
noExpressionError | プロパティ |
noMatchError | プロパティ |
RegExpValidator | () | コンストラクター |
public function RegExpValidator()| 言語バージョン: | ActionScript 3.0 |
| 製品バージョン: | Flex 3 |
| ランタイムバージョン: | Flash Player 9, AIR 1.1 |
コンストラクター
doValidation | () | メソッド |
override protected function doValidation(value:Object):Array| 言語バージョン: | ActionScript 3.0 |
| 製品バージョン: | Flex 3 |
| ランタイムバージョン: | Flash Player 9, AIR 1.1 |
正規表現の妥当性を検証する上で基本クラスの doValidation() メソッドをオーバーライドします。
このメソッドはユーザーが直接呼び出すものではなく、妥当性を検証する際に Flex から呼び出されます。 Validator クラスをカスタムで作成する場合は、このメソッドを実装する必要があります。
パラメーター
value:Object — 検証するオブジェクトです。
|
Array — 無効な結果における ValidationResult オブジェクトの配列です。このオブジェクトは、検証が行われるフィールドごとに 1 つ含まれます。
|
<?xml version="1.0" encoding="utf-8"?>
<!-- Simple example to demonstrate the RegExpValidator. -->
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<fx:Script>
<![CDATA[
import mx.events.ValidationResultEvent;
import mx.validators.*;
// Write the results to the
private function handleResult(eventObj:ValidationResultEvent):void {
if (eventObj.type == ValidationResultEvent.VALID) {
// For valid events, the results Array contains
// RegExpValidationResult objects.
var xResult:RegExpValidationResult;
reResults.text = "";
for (var i:uint = 0; i < eventObj.results.length; i++) {
xResult = eventObj.results[i];
reResults.text=reResults.text + xResult.matchedIndex + " " + xResult.matchedString + "\n";
}
} else {
reResults.text = "";
}
}
]]>
</fx:Script>
<fx:Declarations>
<mx:RegExpValidator id="regExpV"
source="{regex_text}" property="text"
flags="g" expression="{regex.text}"
valid="handleResult(event)"
invalid="handleResult(event)"
trigger="{myButton}"
triggerEvent="click"/>
</fx:Declarations>
<s:Panel title="RegExpValidator Example"
width="75%" height="75%"
horizontalCenter="0" verticalCenter="0">
<s:VGroup left="10" right="10" top="10" bottom="10">
<s:Label width="100%" text="Instructions:"/>
<s:Label width="100%" text="1. Enter text to search. By default, enter a string containing the letters ABC in sequence followed by any digit."/>
<s:Label width="100%" text="2. Enter the regular expression. By default, enter ABC\d."/>
<s:Label width="100%" text="3. Click the Button control to trigger the validation."/>
<s:Label width="100%" text="4. The results show the index in the text where the matching pattern begins, and the matching pattern. "/>
<mx:Form>
<mx:FormItem label="Enter text:">
<s:TextInput id="regex_text" text="xxxxABC4xxx" width="100%"/>
</mx:FormItem>
<mx:FormItem label="Enter regular expression:">
<s:TextInput id="regex" text="ABC\d" width="100%"/>
</mx:FormItem>
<mx:FormItem label="Results:">
<s:TextInput id="reResults" width="100%"/>
</mx:FormItem>
<mx:FormItem >
<s:Button id="myButton" label="Validate"/>
</mx:FormItem>
</mx:Form>
</s:VGroup>
</s:Panel>
</s:Application>
Tue Jun 12 2018, 10:34 AM Z
MXML シンタックスを表示