パッケージmx.validators
クラスpublic class Validator
継承Validator Inheritance EventDispatcher Inheritance Object
実装 IMXMLObject
サブクラス CreditCardValidator, CurrencyValidator, DateValidator, EmailValidator, NumberValidator, PhoneNumberValidator, RegExpValidator, SocialSecurityValidator, StringValidator, ZipCodeValidator

Validator クラスはすべての Flex 検証クラスの基本クラスです。 このクラスにより、バリデータ機能が実装され、必要なフィールドを作成します。つまり、ユーザーがこのフィールドに値を入力しないと、検証は失敗します。

MXML のシンタックスexpandedMXML シンタックスを隠す

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" 
  />
  

例を表示

関連項目

mx.events.ValidationResultEvent
mx.validators.ValidationResult
mx.validators.RegExpValidationResult
Using error tips
Validating data by using custom validators
Example: Creating a simple validator


パブリックプロパティ
 プロパティ定義元
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  enabled : Boolean
この値を false に設定すると、バリデータによる検証が行えなくなります。
Validator
  listener : Object
検証のリスナーを指定します。
Validator
  property : String
検証する値を含む source オブジェクトのプロパティの名前を指定するストリングを表します。
Validator
 Inheritedprototype : Object
[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
  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
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
EventDispatcher
 Inherited
イベントをイベントフローに送出します。
EventDispatcher
 Inherited
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
EventDispatcher
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
  
MXML タグを使用してバリデータを作成したときに、MXML コンパイラによって自動的に呼び出されます。
Validator
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
EventDispatcher
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
  
validate(value:Object = null, suppressEvents:Boolean = false):ValidationResultEvent
検証を実行し、リスナーに任意で結果を通知します。
Validator
  
validateAll(validators:Array):Array
[静的] validators 配列に含まれるすべてのバリデータを呼び出します。
Validator
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
 Inherited
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
EventDispatcher
プロテクトメソッド
 メソッド定義元
  
バリデータから送出された valid イベントおよび invalid イベントのすべてのリスナーを設定します。
Validator
  
required プロパティの値で定義されるような、検証エラーの原因となる欠損値および空値の検証をはじめ、このバリデータの検証ロジックを実行します。
Validator
  
検証するオブジェクトを返します。
Validator
  
エラー結果の配列から ValidationResultEvent を返します。
Validator
  
value が null でない場合、true を返します。
Validator
  
バリデータから送出された valid イベントおよび invalid イベントのすべてのリスナーを切断します。
Validator
  
このメソッドは、バリデータが作成されたときと、ResourceManager が "change" イベントを送出してローカライズされたリソースが何らかの点で変更されたことを示すときに再び呼び出されます。
Validator
イベント
 イベント 概要 定義元
 Inherited[ブロードキャスト イベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。EventDispatcher
 Inherited[ブロードキャスト イベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。EventDispatcher
  検証が失敗すると送出されます。Validator
  検証が正常に完了すると送出されます。Validator
プロテクト定数
 定数定義元
  DECIMAL_DIGITS : String = "0123456789"
[静的] 0 から 9 の 10 進数字を含むストリングです。
Validator
  ROMAN_LETTERS : String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
[静的] ローマ字アルファベットの大文字と小文字を含む("A" から "Z"、および "a" から "z")ストリングです。
Validator
プロパティの詳細
actualListenersプロパティ
actualListeners:Array  [読み取り専用]

リスナーオブジェクトが存在する場合はリスナーオブジェクトを含みます。そうでない場合は、ソースオブジェクトを含みます。 検証結果について通知するオブジェクトを判断するために使用します。



実装
    protected function get actualListeners():Array
actualTriggerプロパティ 
actualTrigger:IEventDispatcher  [読み取り専用]

トリガオブジェクトが存在する場合はトリガオブジェクトを含みます。そうでない場合は、ソースオブジェクトを含みます。 triggerEvent のリスナーオブジェクトを判断するために使用します。



実装
    protected function get actualTrigger():IEventDispatcher
enabledプロパティ 
enabled:Boolean

この値を false に設定すると、バリデータによる検証が行えなくなります。 バリデータが無効になると、イベントは送出されず、validate() メソッドにより null が返されます。

デフォルト値 : true.



実装
    public function get enabled():Boolean
    public function set enabled(value:Boolean):void
listenerプロパティ 
listener:Object

検証のリスナーを指定します。

リスナーを指定しない場合、Flex は source プロパティの値を使用します。 Flex がソースコンポーネントを調べた後、コンポーネントの境界線色を変更し、検証に失敗した際のエラーメッセージを表示するか、成功した際の既存のエラーメッセージを非表示にします。



実装
    public function get listener():Object
    public function set listener(value:Object):void
propertyプロパティ 
property:String

検証する値を含む source オブジェクトのプロパティの名前を指定するストリングを表します。 このプロパティはオプションですが、source を指定する場合、このプロパティにも値を設定する必要があります。

デフォルト値 : null.



実装
    public function get property():String
    public function set property(value:String):void
requiredプロパティ 
public var required:Boolean = true

true の場合、検証エラーの原因となる欠損値または空値を指定します。

デフォルト値 : true.

requiredFieldErrorプロパティ 
requiredFieldError:String

値が欠損し、required プロパティが true の場合に発生するエラーメッセージです。

デフォルト値 : "このフィールドは必須です。".



実装
    public function get requiredFieldError():String
    public function set requiredFieldError(value:String):void
resourceManagerプロパティ 
resourceManager:IResourceManager  [読み取り専用]

アプリケーションのローカライズされたすべてのリソースを管理するオブジェクトへの参照です。これは、IResourceManager インターフェイスを実装するシングルトンインスタンスです。

このプロパティはデータバインディングのソースとして使用できます。 このプロパティを変更すると、 unused イベントが送出されます。



実装
    protected function get resourceManager():IResourceManager
sourceプロパティ 
source:Object

検証するプロパティを含むオブジェクトを指定します。 このプロパティには、コンポーネントまたはデータモデルのインスタンスを設定します。 MXML のデータバインディングシンタックスを使用して、値を指定します。 ネストされたプロパティを指定するために、ドット区切りのストリングがサポートされています。 source プロパティに値を指定する場合、property プロパティにも値を指定する必要があります。 source プロパティはオプションです。

デフォルト値 : null.



実装
    public function get source():Object
    public function set source(value:Object):void
subFieldsプロパティ 
protected var subFields:Array

value オブジェクト(validate() メソッドに渡された)に含まれるプロパティ名を含むストリングの配列です。たとえば、CreditCardValidator はこのプロパティを [ "cardNumber", "cardType" ] に設定します。この値は、value オブジェクト(validate() メソッドに渡された)に cardNumber プロパティおよび cardType プロパティが含まれることを意味します。

複数のデータフィールドを検証する Validator クラスのサブクラス(CreditCardValidator および DateValidator など)は、コンストラクタにこのプロパティを割り当てる必要があります。

triggerプロパティ 
trigger:IEventDispatcher

バリデータをトリガするイベントの生成を行うコンポーネントを指定します。 指定を省略した場合、Flex はデフォルトで source プロパティの値を使用します。 trigger により triggerEvent が送出されると、検証が実行されます。



実装
    public function get trigger():IEventDispatcher
    public function set trigger(value:IEventDispatcher):void
triggerEventプロパティ 
triggerEvent:String

検証をトリガするイベントを指定します。 指定を省略すると、Flex は valueCommit イベントを使用します。 ユーザーがコントロールにデータを入力し終えると、Flex は valueCommit イベントを送出します。 通常これは、ユーザーがコンポーネントからフォーカスを移動したときか、プロパティ値がプログラムによって変更されたときです。 バリデータにすべてのイベントを無視させる場合は、triggerEvent を空のストリング("")に設定します。



実装
    public function get triggerEvent():String
    public function set triggerEvent(value:String):void
コンストラクタの詳細
Validator()コンストラクタ
public function Validator()

コンストラクタです。

メソッドの詳細
addListenerHandler()メソッド
protected function addListenerHandler():void

バリデータから送出された valid イベントおよび invalid イベントのすべてのリスナーを設定します。 Validator クラスのサブクラスはまず removeListenerHandler() メソッドを呼び出し、サブクラスのリスナーまたはソースのいずれかの値が変更された場合は、addListenerHandler() メソッドを呼び出す必要があります。CreditCardValidator クラスと DateValidator クラスはこの関数を内部的に使用します。

doValidation()メソッド 
protected function doValidation(value:Object):Array

required プロパティの値で定義されるような、検証エラーの原因となる欠損値および空値の検証をはじめ、このバリデータの検証ロジックを実行します。

バリデータクラスのサブクラスを作成する場合、このメソッドをオーバーライドする必要があります。

パラメータ

value:Object — 検証する値を表します。

戻り値
Array — 無効な結果における ValidationResult オブジェクトの配列です。このオブジェクトは、検証に失敗したバリデータで検証が行われる各フィールドごとに 1 つ含まれます。

関連項目

getValueFromSource()メソッド 
protected function getValueFromSource():Object

検証するオブジェクトを返します。 CreditCardValidator クラスや DateValidator クラスなどのサブクラスは、複数のサブフィールドから値にアクセスする必要があるため、このメソッドをオーバーライドします。

戻り値
Object — 検証するオブジェクトです。
handleResults()メソッド 
protected function handleResults(errorResults:Array):ValidationResultEvent

エラー結果の配列から ValidationResultEvent を返します。 この関数は内部的に doValidation() メソッドの結果を取得し、ValidationResultEvent オブジェクトに配置します。RegExpValidator クラスなどのサブクラスは、RegExpValidationResult オブジェクトなどの ValidationResultEvent オブジェクトのサブクラスを出力し、オブジェクトに情報を追加する必要がある場合は、この関数をオーバーライドします。 この関数は直接呼び出されないため、オーバーライドされることはほとんどありません。

パラメータ

errorResults:Array — ValidationResult オブジェクトの配列です。

戻り値
ValidationResultEventvalidate() メソッドにより返される ValidationResultEvent です。
initialized()メソッド 
public function initialized(document:Object, id:String):void

MXML タグを使用してバリデータを作成したときに、MXML コンパイラによって自動的に呼び出されます。

パラメータ

document:Object — このバリデータを含む MXML ドキュメントを表します。
 
id:String — 無視されます。

isRealValue()メソッド 
protected function isRealValue(value:Object):Boolean

true が返されるのは、value が null でない場合です。

パラメータ

value:Object — テストする値です。

戻り値
Booleantrue であるのは、value が null でない場合です。
removeListenerHandler()メソッド 
protected function removeListenerHandler():void

バリデータから送出された valid イベントおよび invalid イベントのすべてのリスナーを切断します。 サブクラスはまず removeListenerHandler() メソッドを呼び出し、サブクラスのリスナーまたはソースのいずれかの値が変更された場合は、addListenerHandler メソッドを呼び出す必要があります。CreditCardValidator クラスと DateValidator クラスはこの関数を内部的に使用します。

resourcesChanged()メソッド 
protected function resourcesChanged():void

このメソッドは、バリデータが作成されたときと、ResourceManager が "change" イベントを送出してローカライズされたリソースが何らかの点で変更されたことを示すときに再び呼び出されます。

このイベントは、ResourceManager の localeChain プロパティを設定したとき、リソースモジュールがロードを終了したとき、および ResourceManager の update() メソッドを呼び出すときに送出されます。

サブクラスでこのメソッドをオーバーライドする必要があります。super.resourcesChanged() を呼び出した後は、新しいリソース値に応じて適切な操作を実行してください。

validate()メソッド 
public function validate(value:Object = null, suppressEvents:Boolean = false):ValidationResultEvent

検証を実行し、リスナーに任意で結果を通知します。

パラメータ

value:Object (default = null) — 検証するオプションの値です。 null の場合、バリデータは source プロパティおよび property プロパティを使用して値を決定します。 このパラメータを指定する場合、listener プロパティも設定して検証エラーメッセージの対象となるコンポーネントを指定する必要があります。
 
suppressEvents:Boolean (default = false)false の場合、検証後にバリデータがリスナーに結果を通知します。

戻り値
ValidationResultEvent — 検証結果を含む ValidationResultEvent オブジェクトを表します。 検証が成功した場合、ValidationResultEvent.results 配列プロパティは空となります。 検証に失敗した場合、ValidationResultEvent.results 配列プロパティには、バリデータによる検証の成功または失敗を問わず、検証したフィールドそれぞれにつき 1 つの ValidationResult オブジェクトが含まれます。 ValidationResult.isError プロパティを調べれば、フィールドが検証に合格したか失敗したかを判別できます。

関連項目

validateAll()メソッド 
public static function validateAll(validators:Array):Array

validators 配列に含まれるすべてのバリデータを呼び出します。 失敗したバリデータごとに 1 つの ValidationResultEvent オブジェクトを含む配列を返します。 すべてのバリデータが成功した場合は、空の配列を返します。

パラメータ

validators:Array — 実行する Validator オブジェクトを含む配列です。

戻り値
Array — ValidationResultEvent オブジェクトの配列で、配列には失敗したバリデータごとに 1 つの ValidationResultEvent オブジェクトが含まれます。 すべてのバリデータが成功した場合、配列は空になります。
イベントの詳細
invalid イベント
イベントオブジェクトの型: mx.events.ValidationResultEvent
プロパティ ValidationResultEvent.type = mx.events.ValidationResultEvent.INVALID

検証が失敗すると送出されます。

ValidationResultEvent.INVALID 定数は type プロパティ(invalid イベント用イベントオブジェクトのプロパティ)の値を定義します。この定数の値は "invalid" です。

イベントオブジェクトの各プロパティには次の値が設定されています。

プロパティ
bubblesfalse
cancelablefalse
currentTargetイベント処理を行うイベントリスナーの定義用オブジェクトを表します。 例えば、イベントリスナーの登録に myButton.addEventListener() を使用すると、currentTarget の値は myButton となります。
field検証に失敗したフィールドの名前を表します。
messageresults 配列内のあらゆる ValidationResult オブジェクトから受け取ったエラーメッセージがすべて格納されている単独のストリングを表します。
resultsValidationResult オブジェクトの配列を表します。このオブジェクトは検証済みのフィールドに各自 1 つずつ格納されます。
targetイベントを送出したオブジェクトを表します。このオブジェクトは必ずしもイベントを受け取るオブジェクトとは限りません。イベントを受け取るオブジェクトにアクセスするには、currentTarget プロパティを使用します。
valid イベント  
イベントオブジェクトの型: mx.events.ValidationResultEvent
プロパティ ValidationResultEvent.type = mx.events.ValidationResultEvent.VALID

検証が正常に完了すると送出されます。

ValidationResultEvent.VALID 定数は type プロパティ(valid イベント用イベントオブジェクトのプロパティ)の値を定義します。この定数の値は "valid" です。

イベントオブジェクトの各プロパティには次の値が設定されています。

プロパティ
bubblesfalse
cancelablefalse
currentTargetイベント処理を行うイベントリスナーの定義用オブジェクトを表します。 例えば、イベントリスナーの登録に myButton.addEventListener() を使用すると、currentTarget の値は myButton となります。
field空のストリングを表します。
message空のストリングを表します。
results空の配列を表します。
targetイベントを送出したオブジェクトを表します。このオブジェクトは必ずしもイベントを受け取るオブジェクトとは限りません。イベントを受け取るオブジェクトにアクセスするには、currentTarget プロパティを使用します。
定数の詳細
DECIMAL_DIGITS定数
protected static const DECIMAL_DIGITS:String = "0123456789"

0 から 9 の 10 進数字を含むストリングです。

ROMAN_LETTERS定数 
protected static const ROMAN_LETTERS:String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"

ローマ字アルファベットの大文字と小文字を含む("A" から "Z"、および "a" から "z")ストリングです。

例の使用法
SimpleValidatorExample.mxml
<?xml version="1.0"?>
<!-- Simple example to demonstrate the Validator class. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">

    <mx:Script>
        <![CDATA[

            // Import necessary classes.
            import mx.controls.Alert;
            import mx.events.ValidationResultEvent;
            
            // Event listener for the valid and invalid events.
            private function handleValid(eventObj:ValidationResultEvent):void {
                if(eventObj.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!");
            }

        ]]>
    </mx:Script>

    <!-- 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)"/>
        
    <mx:Panel title="Validator Example" width="100%" height="100%" 
            paddingTop="5" paddingLeft="5" paddingRight="5" paddingBottom="5">

        <mx:Form>
            <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 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>

    </mx:Panel>
</mx:Application>




 

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/mx/validators/Validator.html