| Package | mx.validators | 
| Class | public class Validator | 
| Inheritance | Validator  EventDispatcher  Object | 
| Implements | IMXMLObject, IValidator | 
| Subclasses | CreditCardValidator, CurrencyValidator, DateValidator, EmailValidator, MultiTriggerValidator, MultiTriggerValidator, NumberValidator, PhoneNumberValidator, RegExpValidator, SocialSecurityValidator, StringValidator, StyleValidator, ZipCodeValidator | 
| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
 Hide MXML Syntax
Hide MXML SyntaxThe 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" 
  />
  
More examples
Related API Elements
| Property | Defined By | ||
|---|---|---|---|
|  | constructor : Object 
	 A reference to the class object or constructor function for a given object instance. | Object | |
| enabled : Boolean  
      Setting this value to false will stop the validator
      from performing validation. | Validator | ||
| listener : Object 
      Specifies the validation listener. | Validator | ||
| property : String 
      A String specifying the name of the property
      of the source object that contains 
      the value to validate. | Validator | ||
| required : Boolean = true 
      If true, specifies that a missing or empty 
      value causes a validation error. | Validator | ||
| requiredFieldError : String 
      Error message when a value is missing and the 
      required property is true. | Validator | ||
| source : Object 
      Specifies the object containing the property to validate. | Validator | ||
| trigger : IEventDispatcher 
      Specifies the component generating the event that triggers the validator. | Validator | ||
| triggerEvent : String 
      Specifies the event that triggers the validation. | Validator | ||
| Property | Defined By | ||
|---|---|---|---|
| actualListeners : Array [read-only] 
      Contains an Array of listener objects, if any,  
      or the source object. | Validator | ||
| actualTrigger : IEventDispatcher [read-only] 
      Contains the trigger object, if any,
      or the source object. | Validator | ||
| resourceManager : IResourceManager [read-only] 
      A reference to the object which manages
      all of the application's localized resources. | Validator | ||
| subFields : Array 
      An Array of Strings containing the names for the properties contained 
      in the value Object passed to the validate() method. | Validator | ||
| Method | Defined By | ||
|---|---|---|---|
| 
      Constructor. | Validator | ||
|  | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void 
	Registers an event listener object with an EventDispatcher object so that the listener 
	receives notification of an event. | EventDispatcher | |
|  | 
	Dispatches an event into the event flow. | EventDispatcher | |
|  | 
	Checks whether the EventDispatcher object has any listeners registered for a specific type 
	of event. | EventDispatcher | |
|  | 
	 Indicates whether an object has a specified property defined. | Object | |
| 
       Called automatically by the MXML compiler when the Validator
       is created using an MXML tag. | Validator | ||
|  | 
	 Indicates whether an instance of the Object class is in the prototype chain of the object specified 
	 as the parameter. | Object | |
|  | 
	 Indicates whether the specified property exists and is enumerable. | Object | |
|  | 
	Removes a listener from the EventDispatcher object. | EventDispatcher | |
|  | 
     Sets the availability of a dynamic property for loop operations. | Object | |
|  | 
	 Returns the string representation of this object, formatted according to locale-specific conventions. | Object | |
|  | 
	 Returns the string representation of the specified object. | Object | |
| 
      Performs validation and optionally notifies
      the listeners of the result. | Validator | ||
| [static] 
      Invokes all the validators in the validators Array. | Validator | ||
|  | 
	 Returns the primitive value of the specified object. | Object | |
|  | 
	Checks whether an event listener is registered with this EventDispatcher object or any of 
	its ancestors for the specified event type. | EventDispatcher | |
| Method | Defined By | ||
|---|---|---|---|
| 
      Sets up all of the listeners for the 
      valid and invalid
      events dispatched from the validator. | Validator | ||
| 
      Executes the validation logic of this validator, 
      including validating that a missing or empty value
      causes a validation error as defined by
      the value of the required property. | Validator | ||
| 
      Returns the Object to validate. | Validator | ||
| 
      Returns a ValidationResultEvent from the Array of error results. | Validator | ||
| 
      Returns true if value is not null. | Validator | ||
| 
      Disconnects all of the listeners for the 
      valid and invalid
      events dispatched from the validator. | Validator | ||
| 
      This method is called when a Validator is constructed,
      and again whenever the ResourceManager dispatches
      a "change" Event to indicate
      that the localized resources have changed in some way. | Validator | ||
| Event | Summary | Defined By | ||
|---|---|---|---|---|
|  | [broadcast event] Dispatched when the Flash Player or AIR application gains operating system focus and becomes active. | EventDispatcher | ||
|  | [broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive. | EventDispatcher | ||
| Dispatched when validation fails. | Validator | |||
| Dispatched when validation succeeds. | Validator | |||
| Constant | Defined By | ||
|---|---|---|---|
| DECIMAL_DIGITS : String = "0123456789" [static] 
      A String containing the decimal digits 0 through 9. | Validator | ||
| ROMAN_LETTERS : String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" [static] 
      A string containing the upper- and lower-case letters
      of the Roman alphabet  ("A" through "Z" and "a" through "z"). | Validator | ||
| actualListeners | property | 
actualListeners:Array  [read-only] | Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
Contains an Array of listener objects, if any, or the source object. Used to determine which object to notify about the validation result.
Implementation
    protected function get actualListeners():Array| actualTrigger | property | 
actualTrigger:IEventDispatcher  [read-only] | Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
      Contains the trigger object, if any,
      or the source object. Used to determine the listener object
      for the triggerEvent. 
      
      
Implementation
    protected function get actualTrigger():IEventDispatcher| enabled | property | 
enabled:Boolean| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
 
      Setting this value to false will stop the validator
      from performing validation. 
      When a validator is disabled, it dispatch no events, 
      and the validate() method returns null.
     
      
 The default value is true.
Implementation
    public function get enabled():Boolean    public function set enabled(value:Boolean):void| listener | property | 
listener:Object| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
Specifies the validation listener.
If you do not specify a listener,
      Flex uses the value of the source property. 
      After Flex determines the source component,
      it changes the border color of the component,
      displays an error message for a failure,
      or hides any existing error message for a successful validation.
Implementation
    public function get listener():Object    public function set listener(value:Object):void| property | property | 
property:String| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
      A String specifying the name of the property
      of the source object that contains 
      the value to validate.
      The property is optional, but if you specify source,
      you should set a value for this property as well.
      
      
 The default value is null.
Implementation
    public function get property():String    public function set property(value:String):void| required | property | 
public var required:Boolean = true| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
      If true, specifies that a missing or empty 
      value causes a validation error. 
      
      
 The default value is true.
| requiredFieldError | property | 
requiredFieldError:String| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
      Error message when a value is missing and the 
      required property is true. 
      
      
 The default value is "This field is required.".
Implementation
    public function get requiredFieldError():String    public function set requiredFieldError(value:String):void| resourceManager | property | 
resourceManager:IResourceManager  [read-only] | Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
A reference to the object which manages all of the application's localized resources. This is a singleton instance which implements the IResourceManager interface.
This property can be used as the source for data binding. When this property is modified, it dispatches the  unused  event.
Implementation
    protected function get resourceManager():IResourceManager| source | property | 
source:Object| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
      Specifies the object containing the property to validate. 
      Set this to an instance of a component or a data model. 
      You use data binding syntax in MXML to specify the value.
      This property supports dot-delimited Strings
      for specifying nested properties. 
     
      If you specify a value to the source property,
      then you should specify a value to the property
      property as well. 
      The source property is optional.
      
      
 The default value is null.
Implementation
    public function get source():Object    public function set source(value:Object):void| subFields | property | 
protected var subFields:Array| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
      An Array of Strings containing the names for the properties contained 
      in the value Object passed to the validate() method. 
      For example, CreditCardValidator sets this property to 
      [ "cardNumber", "cardType" ]. 
      This value means that the value Object 
      passed to the validate() method 
      should contain a cardNumber and a cardType property. 
     
      
Subclasses of the Validator class that validate multiple data fields (like CreditCardValidator and DateValidator) should assign this property in their constructor.
| trigger | property | 
trigger:IEventDispatcher| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
      Specifies the component generating the event that triggers the validator. 
      If omitted, by default Flex uses the value of the source property.
      When the trigger dispatches a triggerEvent,
      validation executes. 
      
      
Implementation
    public function get trigger():IEventDispatcher    public function set trigger(value:IEventDispatcher):void| triggerEvent | property | 
triggerEvent:String| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
      Specifies the event that triggers the validation. 
      If omitted, Flex uses the valueCommit event. 
      Flex dispatches the valueCommit event
      when a user completes data entry into a control.
      Usually this is when the user removes focus from the component, 
      or when a property value is changed programmatically.
      If you want a validator to ignore all events,
      set triggerEvent to the empty string ("").
      
      
Implementation
    public function get triggerEvent():String    public function set triggerEvent(value:String):void| Validator | () | Constructor | 
public function Validator()| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
Constructor.
| addListenerHandler | () | method | 
 protected function addListenerHandler():void| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
      Sets up all of the listeners for the 
      valid and invalid
      events dispatched from the validator. Subclasses of the Validator class 
      should first call the removeListenerHandler() method, 
      and then the addListenerHandler() method if 
      the value of one of their listeners or sources changes. 
      The CreditCardValidator and DateValidator classes use this function internally. 
      
      
| doValidation | () | method | 
 protected function doValidation(value:Object):Array| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
      Executes the validation logic of this validator, 
      including validating that a missing or empty value
      causes a validation error as defined by
      the value of the required property.
     
      
If you create a subclass of a validator class, you must override this method.
Parameters
| value:Object— Value to validate. | 
| Array— For an invalid result, an Array of ValidationResult objects,
      with one ValidationResult object for each field examined
      by the validator that failed validation. | 
More examples
Related API Elements
| getValueFromSource | () | method | 
 protected function getValueFromSource():Object| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
Returns the Object to validate. Subclasses, such as the CreditCardValidator and DateValidator classes, override this method because they need to access the values from multiple subfields.
Returns| Object— The Object to validate. | 
| handleResults | () | method | 
 protected function handleResults(errorResults:Array):ValidationResultEvent| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
      Returns a ValidationResultEvent from the Array of error results. 
      Internally, this function takes the results from the 
      doValidation() method and puts it into a ValidationResultEvent object. 
      Subclasses, such as the RegExpValidator class, 
      should override this function if they output a subclass
      of ValidationResultEvent objects, such as the RegExpValidationResult objects, and 
      needs to populate the object with additional information. You never
      call this function directly, and you should rarely override it. 
     
      
Parameters
| errorResults:Array— Array of ValidationResult objects. | 
| ValidationResultEvent— The ValidationResultEvent returned by thevalidate()method. | 
| initialized | () | method | 
 public function initialized(document:Object, id:String):void| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
Called automatically by the MXML compiler when the Validator is created using an MXML tag.
Parameters
| document:Object— The MXML document containing this Validator. | |
| id:String— Ignored. | 
| isRealValue | () | method | 
| removeListenerHandler | () | method | 
 protected function removeListenerHandler():void| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
      Disconnects all of the listeners for the 
      valid and invalid
      events dispatched from the validator. Subclasses should first call the
      removeListenerHandler() method and then the 
      addListenerHandler method if 
      the value of one of their listeners or sources changes. 
      The CreditCardValidator and DateValidator classes use this function internally. 
      
      
| resourcesChanged | () | method | 
 protected function resourcesChanged():void| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
      This method is called when a Validator is constructed,
      and again whenever the ResourceManager dispatches
      a "change" Event to indicate
      that the localized resources have changed in some way.
     
      
This event will be dispatched when you set the ResourceManager's
      localeChain property, when a resource module
      has finished loading, and when you call the ResourceManager's
      update() method.
Subclasses should override this method and, after calling
      super.resourcesChanged(), do whatever is appropriate
      in response to having new resource values.
| validate | () | method | 
 public function validate(value:Object = null, suppressEvents:Boolean = false):ValidationResultEvent| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
Performs validation and optionally notifies the listeners of the result.
Parameters
| value:Object(default =null)— Optional value to validate.
      If null, then the validator uses thesourceandpropertyproperties to determine the value.
      If you specify this argument, you should also set thelistenerproperty to specify the target component
      for any validation error messages. | |
| suppressEvents:Boolean(default =false)— Iffalse, then after validation,
      the validator will notify the listener of the result. | 
| ValidationResultEvent— A ValidationResultEvent object
      containing the results of the validation. 
      For a successful validation, theValidationResultEvent.resultsArray property is empty. 
      For a validation failure, theValidationResultEvent.resultsArray property contains
      one ValidationResult object for each field checked by the validator, 
      both for fields that failed the validation and for fields that passed. 
      Examine theValidationResult.isErrorproperty to determine if the field passed or failed the validation. | 
Related API Elements
| validateAll | () | method | 
 public static function validateAll(validators:Array):Array| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
      Invokes all the validators in the validators Array.
      Returns an Array containing one ValidationResultEvent object 
      for each validator that failed.
      Returns an empty Array if all validators succeed. 
     
      
Parameters
| validators:Array— An Array containing the Validator objects to execute. | 
| Array— Array of ValidationResultEvent objects, where the Array
      contains one ValidationResultEvent object for each validator
      that failed. 
      The Array is empty if all validators succeed. | 
| invalid | Event | 
mx.events.ValidationResultEventproperty ValidationResultEvent.type =
mx.events.ValidationResultEvent.INVALID| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
Dispatched when validation fails.
TheValidationResultEvent.INVALID constant defines the value of the 
	  type property of the event object for an invalid event.
	  The value of this constant is "invalid".
	 
	  The properties of the event object have the following values:
| Property | Value | 
|---|---|
| bubbles | false | 
| cancelable | false | 
| currentTarget | The Object that defines the 
           event listener that handles the event. For example, if you use myButton.addEventListener()to register an event listener, 
           myButton is the value of thecurrentTarget. | 
| field | The name of the field that failed validation. | 
| message | A single string that contains every error message from all of the ValidationResult objects in the results Array. | 
| results | An array of ValidationResult objects, one per validated field. | 
| target | The Object that dispatched the event; 
           it is not always the Object listening for the event. 
           Use the currentTargetproperty to always access the 
           Object listening for the event. | 
| valid | Event | 
mx.events.ValidationResultEventproperty ValidationResultEvent.type =
mx.events.ValidationResultEvent.VALID| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
Dispatched when validation succeeds.
TheValidationResultEvent.VALID constant defines the value of the 
	  type property of the event object for a validevent.
	  The value of this constant is "valid".
	 
	  The properties of the event object have the following values:
| Property | Value | 
|---|---|
| bubbles | false | 
| cancelable | false | 
| currentTarget | The Object that defines the 
           event listener that handles the event. For example, if you use myButton.addEventListener()to register an event listener, 
           myButton is the value of thecurrentTarget. | 
| field | An empty String. | 
| message | An empty String. | 
| results | An empty Array. | 
| target | The Object that dispatched the event; 
           it is not always the Object listening for the event. 
           Use the currentTargetproperty to always access the 
           Object listening for the event. | 
| DECIMAL_DIGITS | Constant | 
protected static const DECIMAL_DIGITS:String = "0123456789"| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
A String containing the decimal digits 0 through 9.
| ROMAN_LETTERS | Constant | 
protected static const ROMAN_LETTERS:String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
A string containing the upper- and lower-case letters of the Roman alphabet ("A" through "Z" and "a" through "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>
Thu Dec 4 2014, 05:50 PM -08:00
 Show MXML Syntax
Show MXML Syntax