| パッケージ | mx.validators |
| クラス | public class Validator |
| 継承 | Validator EventDispatcher Object |
| 実装 | IMXMLObject, IValidator |
| サブクラス | CreditCardValidator, CurrencyValidator, DateValidator, EmailValidator, MultiTriggerValidator, MultiTriggerValidator, NumberValidator, PhoneNumberValidator, RegExpValidator, SocialSecurityValidator, StringValidator, StyleValidator, ZipCodeValidator |
| 言語バージョン: | ActionScript 3.0 |
| 製品バージョン: | Flex 3 |
| ランタイムバージョン: | Flash Player 9, AIR 1.1 |
MXML シンタックスを隠すThe Validator class defines the following tag attributes, which all of its subclasses inherit:
<mx:Validator
enabled="true|false"
listener="Value of the source property"
property="No default"
required="true|false"
requiredFieldError="This field is required."
source="No default"
trigger="Value of the source property"
triggerEvent="valueCommit"
/>
さらに例を参照
関連する API エレメント
| プロパティ | 定義元 | ||
|---|---|---|---|
![]() | constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | |
| enabled : Boolean
この値を false に設定すると、バリデーターによる検証が行えなくなります。 | Validator | ||
| listener : Object
検証のリスナーを指定します。 | Validator | ||
| property : String
検証する値を含む source オブジェクトのプロパティの名前を指定するストリングを表します。 | Validator | ||
| required : Boolean = true
true の場合、検証エラーの原因となる欠損値または空値を指定します。 | Validator | ||
| requiredFieldError : String
値が欠損し、required プロパティが true の場合に発生するエラーメッセージです。 | Validator | ||
| source : Object
検証するプロパティを含むオブジェクトを指定します。 | Validator | ||
| trigger : IEventDispatcher
バリデーターをトリガーするイベントの生成を行うコンポーネントを指定します。 | Validator | ||
| triggerEvent : String
検証をトリガーするイベントを指定します。 | Validator | ||
| プロパティ | 定義元 | ||
|---|---|---|---|
| actualListeners : Array [読み取り専用]
リスナーオブジェクトが存在する場合はリスナーオブジェクトを含みます。そうでない場合は、ソースオブジェクトを含みます。 | Validator | ||
| actualTrigger : IEventDispatcher [読み取り専用]
トリガーオブジェクトが存在する場合はトリガーオブジェクトを含みます。そうでない場合は、ソースオブジェクトを含みます。 | Validator | ||
| resourceManager : IResourceManager [読み取り専用]
アプリケーションのローカライズされたすべてのリソースを管理するオブジェクトへの参照です。 | Validator | ||
| subFields : Array
validate() メソッドに渡された value オブジェクトに含まれるプロパティ名を含むストリングの配列です。 | Validator | ||
| メソッド | 定義元 | ||
|---|---|---|---|
コンストラクターです。 | Validator | ||
![]() | 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 | ||
required プロパティの値で定義されるような、検証エラーの原因となる欠損値および空値の検証をはじめ、このバリデーターの検証ロジックを実行します。 | Validator | ||
検証するオブジェクトを返します。 | Validator | ||
エラー結果の配列から ValidationResultEvent を返します。 | Validator | ||
value が null でない場合、true を返します。 | Validator | ||
バリデーターから送出された valid イベントおよび invalid イベントのすべてのリスナーを切断します。 | Validator | ||
このメソッドは、バリデーターが作成されたときと、ResourceManager が "change" イベントを送出してローカライズされたリソースが何らかの点で変更されたことを示すときに再び呼び出されます。 | Validator | ||
| イベント | 概要 | 定義元 | ||
|---|---|---|---|---|
![]() | [ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。 | EventDispatcher | ||
![]() | [ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。 | EventDispatcher | ||
| 検証が失敗すると送出されます。 | Validator | |||
| 検証が正常に完了すると送出されます。 | Validator | |||
| 定数 | 定義元 | ||
|---|---|---|---|
| DECIMAL_DIGITS : String = "0123456789" [静的]
0 から 9 の 10 進数字を含むストリングです。 | Validator | ||
| ROMAN_LETTERS : String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" [静的]
ローマ字アルファベットの大文字と小文字を含む("A" から "Z"、および "a" から "z")ストリングです。 | Validator | ||
actualListeners | プロパティ |
actualTrigger | プロパティ |
actualTrigger:IEventDispatcher [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| 製品バージョン: | Flex 3 |
| ランタイムバージョン: | Flash Player 9, AIR 1.1 |
トリガーオブジェクトが存在する場合はトリガーオブジェクトを含みます。そうでない場合は、ソースオブジェクトを含みます。 triggerEvent のリスナーオブジェクトを判断するために使用します。
実装
protected function get actualTrigger():IEventDispatcherenabled | プロパティ |
listener | プロパティ |
listener:Object| 言語バージョン: | ActionScript 3.0 |
| 製品バージョン: | Flex 3 |
| ランタイムバージョン: | Flash Player 9, AIR 1.1 |
検証のリスナーを指定します。
リスナーを指定しない場合、Flex は source プロパティの値を使用します。 Flex がソースコンポーネントを調べた後、コンポーネントの境界線色を変更し、検証に失敗した際のエラーメッセージを表示するか、成功した際の既存のエラーメッセージを非表示にします。
実装
public function get listener():Object public function set listener(value:Object):voidproperty | プロパティ |
required | プロパティ |
public var required:Boolean = true| 言語バージョン: | ActionScript 3.0 |
| 製品バージョン: | Flex 3 |
| ランタイムバージョン: | Flash Player 9, AIR 1.1 |
true の場合、検証エラーの原因となる欠損値または空値を指定します。
デフォルト値: true。
requiredFieldError | プロパティ |
resourceManager | プロパティ |
resourceManager:IResourceManager [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| 製品バージョン: | Flex 3 |
| ランタイムバージョン: | Flash Player 9, AIR 1.1 |
アプリケーションのローカライズされたすべてのリソースを管理するオブジェクトへの参照です。これは、IResourceManager インターフェイスを実装するシングルトンインスタンスです。
このプロパティはデータバインディングのソースとして使用できます。 このプロパティを変更すると、 unused イベントが送出されます。
実装
protected function get resourceManager():IResourceManagersource | プロパティ |
source:Object| 言語バージョン: | ActionScript 3.0 |
| 製品バージョン: | Flex 3 |
| ランタイムバージョン: | Flash Player 9, AIR 1.1 |
検証するプロパティを含むオブジェクトを指定します。 このプロパティには、コンポーネントまたはデータモデルのインスタンスを設定します。 MXML のデータバインディングシンタックスを使用して、値を指定します。 ネストされたプロパティを指定するために、ドット区切りのストリングがサポートされています。 source プロパティに値を指定する場合、property プロパティにも値を指定する必要があります。 source プロパティはオプションです。
デフォルト値: null。
実装
public function get source():Object public function set source(value:Object):voidsubFields | プロパティ |
protected var subFields:Array| 言語バージョン: | ActionScript 3.0 |
| 製品バージョン: | Flex 3 |
| ランタイムバージョン: | Flash Player 9, AIR 1.1 |
value オブジェクト(validate() メソッドに渡された)に含まれるプロパティ名を含むストリングの配列です。 例えば、CreditCardValidator はこのプロパティを [ "cardNumber", "cardType" ] に設定します。 この値は、value オブジェクト(validate() メソッドに渡された)に cardNumber プロパティおよび cardType プロパティが含まれることを意味します。
複数のデータフィールドを検証する Validator クラスのサブクラス(CreditCardValidator および DateValidator など)は、コンストラクターにこのプロパティを割り当てる必要があります。
trigger | プロパティ |
trigger:IEventDispatcher| 言語バージョン: | ActionScript 3.0 |
| 製品バージョン: | Flex 3 |
| ランタイムバージョン: | Flash Player 9, AIR 1.1 |
バリデーターをトリガーするイベントの生成を行うコンポーネントを指定します。 指定を省略した場合、Flex はデフォルトで source プロパティの値を使用します。 trigger により triggerEvent が送出されると、検証が実行されます。
実装
public function get trigger():IEventDispatcher public function set trigger(value:IEventDispatcher):voidtriggerEvent | プロパティ |
triggerEvent:String| 言語バージョン: | ActionScript 3.0 |
| 製品バージョン: | Flex 3 |
| ランタイムバージョン: | Flash Player 9, AIR 1.1 |
検証をトリガーするイベントを指定します。 指定を省略すると、Flex は valueCommit イベントを使用します。 ユーザーがコントロールにデータを入力し終えると、Flex は valueCommit イベントを送出します。 通常これは、ユーザーがコンポーネントからフォーカスを移動したときか、プロパティ値がプログラムによって変更されたときです。 バリデーターにすべてのイベントを無視させる場合は、triggerEvent を空のストリング("")に設定します。
実装
public function get triggerEvent():String public function set triggerEvent(value:String):voidValidator | () | コンストラクター |
public function Validator()| 言語バージョン: | ActionScript 3.0 |
| 製品バージョン: | Flex 3 |
| ランタイムバージョン: | Flash Player 9, AIR 1.1 |
コンストラクターです。
addListenerHandler | () | メソッド |
protected function addListenerHandler():void| 言語バージョン: | ActionScript 3.0 |
| 製品バージョン: | Flex 3 |
| ランタイムバージョン: | Flash Player 9, AIR 1.1 |
バリデーターから送出された valid イベントおよび invalid イベントのすべてのリスナーを設定します。 Validator クラスのサブクラスはまず removeListenerHandler() メソッドを呼び出し、サブクラスのリスナーまたはソースのいずれかの値が変更された場合は、addListenerHandler() メソッドを呼び出す必要があります。 CreditCardValidator クラスと DateValidator クラスはこの関数を内部的に使用します。
doValidation | () | メソッド |
protected function doValidation(value:Object):Array| 言語バージョン: | ActionScript 3.0 |
| 製品バージョン: | Flex 3 |
| ランタイムバージョン: | Flash Player 9, AIR 1.1 |
required プロパティの値で定義されるような、検証エラーの原因となる欠損値および空値の検証をはじめ、このバリデーターの検証ロジックを実行します。
バリデータークラスのサブクラスを作成する場合、このメソッドをオーバーライドする必要があります。
パラメーター
value:Object — 検証する値を表します。
|
Array — 無効な結果における ValidationResult オブジェクトの配列です。このオブジェクトは、検証に失敗したバリデーターで検証が行われる各フィールドごとに 1 つ含まれます。
|
さらに例を参照
関連する API エレメント
getValueFromSource | () | メソッド |
handleResults | () | メソッド |
protected function handleResults(errorResults:Array):ValidationResultEvent| 言語バージョン: | ActionScript 3.0 |
| 製品バージョン: | Flex 3 |
| ランタイムバージョン: | Flash Player 9, AIR 1.1 |
エラー結果の配列から ValidationResultEvent を返します。 この関数は内部的に doValidation() メソッドの結果を取得し、ValidationResultEvent オブジェクトに配置します。 RegExpValidator クラスなどのサブクラスは、RegExpValidationResult オブジェクトなどの ValidationResultEvent オブジェクトのサブクラスを出力し、オブジェクトに情報を追加する必要がある場合は、この関数をオーバーライドします。 この関数は直接呼び出されないため、オーバーライドされることはほとんどありません。
パラメーター
errorResults:Array — ValidationResult オブジェクトの配列です。
|
ValidationResultEvent — validate() メソッドにより返される ValidationResultEvent です。
|
initialized | () | メソッド |
isRealValue | () | メソッド |
removeListenerHandler | () | メソッド |
protected function removeListenerHandler():void| 言語バージョン: | ActionScript 3.0 |
| 製品バージョン: | Flex 3 |
| ランタイムバージョン: | Flash Player 9, AIR 1.1 |
バリデーターから送出された valid イベントおよび invalid イベントのすべてのリスナーを切断します。 サブクラスはまず removeListenerHandler() メソッドを呼び出し、サブクラスのリスナーまたはソースのいずれかの値が変更された場合は、addListenerHandler メソッドを呼び出す必要があります。 CreditCardValidator クラスと DateValidator クラスはこの関数を内部的に使用します。
resourcesChanged | () | メソッド |
protected function resourcesChanged():void| 言語バージョン: | ActionScript 3.0 |
| 製品バージョン: | Flex 3 |
| ランタイムバージョン: | Flash Player 9, AIR 1.1 |
このメソッドは、バリデーターが作成されたときと、ResourceManager が "change" イベントを送出してローカライズされたリソースが何らかの点で変更されたことを示すときに再び呼び出されます。
このイベントは、ResourceManager の localeChain プロパティを設定したとき、リソースモジュールがロードを終了したとき、および ResourceManager の update() メソッドを呼び出すときに送出されます。
サブクラスでは、このメソッドをオーバーライドし、super.resourcesChanged() を呼び出した後、リソース値の変化に応じて必要となる処理を実行する必要があります。
validate | () | メソッド |
public function validate(value:Object = null, suppressEvents:Boolean = false):ValidationResultEvent| 言語バージョン: | ActionScript 3.0 |
| 製品バージョン: | Flex 3 |
| ランタイムバージョン: | Flash Player 9, AIR 1.1 |
検証を実行し、リスナーに任意で結果を通知します。
パラメーター
value:Object (default = null) — 検証するオプションの値です。 null の場合、バリデーターは source プロパティおよび property プロパティを使用して値を決定します。 このパラメーターを指定する場合、listener プロパティも設定して検証エラーメッセージの対象となるコンポーネントを指定する必要があります。
| |
suppressEvents:Boolean (default = false) — false の場合、検証後にバリデーターがリスナーに結果を通知します。
|
ValidationResultEvent — 検証結果を含む ValidationResultEvent オブジェクトを表します。 検証が成功した場合、ValidationResultEvent.results 配列プロパティは空となります。 検証に失敗した場合、ValidationResultEvent.results 配列プロパティには、バリデーターによる検証の成功または失敗を問わず、検証したフィールドそれぞれにつき 1 つの ValidationResult オブジェクトが含まれます。 ValidationResult.isError プロパティを調べれば、フィールドが検証に合格したか失敗したかを判別できます。
|
関連する API エレメント
validateAll | () | メソッド |
public static function validateAll(validators:Array):Array| 言語バージョン: | ActionScript 3.0 |
| 製品バージョン: | Flex 3 |
| ランタイムバージョン: | Flash Player 9, AIR 1.1 |
validators 配列に含まれるすべてのバリデーターを呼び出します。 失敗したバリデーターごとに 1 つの ValidationResultEvent オブジェクトを含む配列を返します。 すべてのバリデーターが成功した場合は、空の配列を返します。
パラメーター
validators:Array — 実行する Validator オブジェクトを含む配列です。
|
Array — ValidationResultEvent オブジェクトの配列で、配列には失敗したバリデーターごとに 1 つの ValidationResultEvent オブジェクトが含まれます。 すべてのバリデーターが成功した場合、配列は空になります。
|
invalid | イベント |
mx.events.ValidationResultEventプロパティ ValidationResultEvent.type =
mx.events.ValidationResultEvent.INVALID| 言語バージョン: | ActionScript 3.0 |
| 製品バージョン: | Flex 3 |
| ランタイムバージョン: | Flash Player 9, AIR 1.1 |
検証が失敗すると送出されます。
ValidationResultEvent.INVALID 定数により、イベントオブジェクトの type プロパティ値が invalid イベント用に定義されます。 この定数の値は "invalid" です。
イベントオブジェクトの各プロパティには次の値が設定されています。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false |
currentTarget | イベント処理を行うイベントリスナーの定義用オブジェクトを表します。 例えば、イベントリスナーの登録に myButton.addEventListener() を使用すると、myButton の値は currentTarget となります。 |
field | 検証に失敗したフィールドの名前を表します。 |
message | results 配列内のあらゆる ValidationResult オブジェクトから受け取ったエラーメッセージがすべて格納されている単独のストリングを表します。 |
results | ValidationResult オブジェクトの配列を表します。このオブジェクトは検証済みのフィールドに各自 1 つずつ格納されます。 |
target | イベントを送出したオブジェクトを表します。このオブジェクトは必ずしもイベントを受け取るオブジェクトとは限りません。 イベントを受け取るオブジェクトに常にアクセスするには、currentTarget プロパティを使用してください。 |
valid | イベント |
mx.events.ValidationResultEventプロパティ ValidationResultEvent.type =
mx.events.ValidationResultEvent.VALID| 言語バージョン: | ActionScript 3.0 |
| 製品バージョン: | Flex 3 |
| ランタイムバージョン: | Flash Player 9, AIR 1.1 |
検証が正常に完了すると送出されます。
ValidationResultEvent.VALID 定数により、イベントオブジェクトの type プロパティ値が valid イベント用に定義されます。 この定数の値は "valid" です。
イベントオブジェクトの各プロパティには次の値が設定されています。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false |
currentTarget | イベント処理を行うイベントリスナーの定義用オブジェクトを表します。 例えば、イベントリスナーの登録に myButton.addEventListener() を使用すると、myButton の値は currentTarget となります。 |
field | 空のストリングを表します。 |
message | 空のストリングを表します。 |
results | 空の配列を表します。 |
target | イベントを送出したオブジェクトを表します。このオブジェクトは必ずしもイベントを受け取るオブジェクトとは限りません。 イベントを受け取るオブジェクトに常にアクセスするには、currentTarget プロパティを使用してください。 |
DECIMAL_DIGITS | 定数 |
protected static const DECIMAL_DIGITS:String = "0123456789"| 言語バージョン: | ActionScript 3.0 |
| 製品バージョン: | Flex 3 |
| ランタイムバージョン: | Flash Player 9, AIR 1.1 |
0 から 9 の 10 進数字を含むストリングです。
ROMAN_LETTERS | 定数 |
protected static const ROMAN_LETTERS:String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"| 言語バージョン: | ActionScript 3.0 |
| 製品バージョン: | Flex 3 |
| ランタイムバージョン: | Flash Player 9, AIR 1.1 |
ローマ字アルファベットの大文字と小文字を含む("A" から "Z"、および "a" から "z")ストリングです。
<?xml version="1.0" encoding="utf-8"?>
<!-- Simple example to demonstrate the Validator class. -->
<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 necessary classes.
import mx.controls.Alert;
import mx.events.ValidationResultEvent;
// Event listener for the valid and invalid events.
private function handleValid(evt:ValidationResultEvent):void {
if (evt.type == ValidationResultEvent.VALID) {
// Enable Submit button.
submitButton.enabled = true;
} else {
submitButton.enabled = false;
}
}
// Submit form is everything is valid.
private function submitForm():void {
Alert.show("Form Submitted!");
}
]]>
</fx:Script>
<fx:Declarations>
<!-- The Validator class defines the required property and the validator events
used by all validator subclasses. -->
<mx:Validator id="reqValid" required="true"
source="{fname}" property="text"
valid="handleValid(event)"
invalid="handleValid(event);" />
</fx:Declarations>
<s:Panel title="Validator Example"
width="75%" height="75%"
horizontalCenter="0" verticalCenter="0">
<mx:Form left="10" right="10" top="10" bottom="10">
<mx:FormItem>
<mx:Text width="100%" color="blue"
text="Enter a value in the Name field before you can submit. The E-mail field is optional."/>
</mx:FormItem>
<mx:FormItem label="Name: " required="true">
<mx:TextInput id="fname" width="100%"/>
</mx:FormItem>
<mx:FormItem label="E-mail address: " required="false">
<mx:TextInput id="email" width="100%"/>
</mx:FormItem>
<mx:FormItem>
<mx:Button id="submitButton" enabled="false"
label="Submit" click="submitForm();"/>
</mx:FormItem>
</mx:Form>
</s:Panel>
</s:Application>
Tue Jun 12 2018, 10:34 AM Z
MXML シンタックスを表示