| パッケージ | mx.validators |
| クラス | public class RegExpValidator |
| 継承 | RegExpValidator Validator EventDispatcher Object |
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."
/>
関連項目
| プロパティ | 定義元 | ||
|---|---|---|---|
![]() | 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 | |
![]() | prototype : Object [静的]
クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。 | Object | |
![]() | 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 | |
![]() |
検証を実行し、リスナーに任意で結果を通知します。 | Validator | |
![]() | [静的]
validators 配列に含まれるすべてのバリデータを呼び出します。 | Validator | |
![]() |
指定されたオブジェクトのプリミティブな値を返します。 | Object | |
![]() |
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。 | EventDispatcher | |
| メソッド | 定義元 | ||
|---|---|---|---|
![]() |
バリデータから送出された valid イベントおよび invalid イベントのすべてのリスナーを設定します。 | Validator | |
[override]
正規表現の妥当性を検証する上で基本クラスの doValidation() メソッドをオーバーライドします。 | RegExpValidator | ||
![]() |
検証するオブジェクトを返します。 | Validator | |
![]() |
エラー結果の配列から ValidationResultEvent を返します。 | Validator | |
![]() |
value が null でない場合、true を返します。 | Validator | |
![]() |
バリデータから送出された valid イベントおよび invalid イベントのすべてのリスナーを切断します。 | Validator | |
![]() |
このメソッドは、バリデータが作成されたときと、ResourceManager が "change" イベントを送出してローカライズされたリソースが何らかの点で変更されたことを示すときに再び呼び出されます。 | Validator | |
| expression | プロパティ |
expression:String検証に使用する正規表現を表します。
public function get expression():String public function set expression(value:String):void| flags | プロパティ |
flags:String一致処理を行う場合に用いられる正規表現フラグを表します。
public function get flags():String public function set flags(value:String):void| noExpressionError | プロパティ |
noExpressionError:String正規表現が指定されていない場合に発生するエラーメッセージを表します。 デフォルト値は "式がありません" です。
public function get noExpressionError():String public function set noExpressionError(value:String):void| noMatchError | プロパティ |
noMatchError:String正規表現と一致するデータが存在しない場合に発生するエラーメッセージを表します。 デフォルト値は "フィールドが無効です" です。
public function get noMatchError():String public function set noMatchError(value:String):void| RegExpValidator | () | コンストラクタ |
public function RegExpValidator()コンストラクタ
| doValidation | () | メソッド |
override protected function doValidation(value:Object):Array
正規表現の妥当性を検証する上で基本クラスの doValidation() メソッドをオーバーライドします。
このメソッドはユーザーが直接呼び出すものではなく、妥当性を検証する際に Flex から呼び出されます。 Validator クラスをカスタムで作成する場合は、このメソッドを実装する必要があります。
パラメータ
value:Object — 検証するオブジェクトです。
|
Array — 無効な結果における ValidationResult オブジェクトの配列です。このオブジェクトは、検証が行われるフィールドごとに 1 つ含まれます。
|
<?xml version="1.0"?>
<!-- Simple example to demonstrate the RegExpValidator. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx: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="";
}
}
]]>
</mx:Script>
<mx:RegExpValidator id="regExpV"
source="{regex_text}" property="text"
flags="g" expression="{regex.text}"
valid="handleResult(event)" invalid="handleResult(event)"
trigger="{myButton}" triggerEvent="click"/>
<mx:Panel title="RegExpValidator Example" width="95%" height="95%"
paddingTop="5" paddingLeft="5" paddingRight="5" paddingBottom="5">
<mx:Text width="100%" text="Instructions:"/>
<mx:Text width="100%" text="1. Enter text to search. By default, enter a string containing the letters ABC in sequence followed by any digit."/>
<mx:Text width="100%" text="2. Enter the regular expression. By default, enter ABC\d."/>
<mx:Text width="100%" text="3. Click the Button control to trigger the validation."/>
<mx:Text 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: ">
<mx:TextInput id="regex_text" text="xxxxABC4xxx" width="100%"/>
</mx:FormItem>
<mx:FormItem label="Enter regular expression: ">
<mx:TextInput id="regex" text="ABC\d" width="100%"/>
</mx:FormItem>
<mx:FormItem label="Results: ">
<mx:TextInput id="reResults" width="100%"/>
</mx:FormItem>
<mx:FormItem >
<mx:Button id="myButton" label="Validate"/>
</mx:FormItem>
</mx:Form>
</mx:Panel>
</mx:Application>
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/mx/validators/RegExpValidator.html