Adobe® Flex® 4 Language Reference
Show Packages and Classes List |  Packages  |  Classes  |  Index  |  Appendixes
mx.validators 
DateValidator 
Packagemx.validators
Classpublic class DateValidator
InheritanceDateValidator Inheritance Validator Inheritance EventDispatcher Inheritance Object

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

The DateValidator class validates that a String, Date, or Object contains a proper date and matches a specified format. Users can enter a single digit or two digits for month, day, and year. By default, the validator ensures the following formats:
  • The month is between 1 and 12 (or 0-11 for Date objects)
  • The day is between 1 and 31
  • The year is a number

You can specify the date in the DateValidator class in two ways:

  • Single String containing the date - Use the source and property properties to specify the String. The String can contain digits and the formatting characters specified by the allowedFormatChars property, which include the "/\-. " characters. By default, the input format of the date in a String field is "MM/DD/YYYY" where "MM" is the month, "DD" is the day, and "YYYY" is the year. You can use the inputFormat property to specify a different format.
  • Date object.
  • Object or multiple fields containing the day, month, and year. Use all of the following properties to specify the day, month, and year inputs: daySource, dayProperty, monthSource, monthProperty, yearSource, and yearProperty.

MXML SyntaxexpandedHide MXML Syntax

The <mx:DateValidator> tag inherits all of the tag attributes of its superclass, and adds the following tag attributes:

  <mx:DateValidator 
    allowedFormatChars="/\-. " 
    dayListener="Object specified by daySource"
    dayProperty="No default"
    daySource="No default"
    formatError= "Configuration error: Incorrect formatting string." 
    inputFormat="MM/DD/YYYY" 
    invalidCharError="The date contains invalid characters."
    monthListener="Object specified by monthSource"
    monthProperty="No default"
    monthSource="No default"
    validateAsString="true|false"
    wrongDayError="Enter a valid day for the month."
    wrongLengthError="Type the date in the format inputFormat." 
    wrongMonthError="Enter a month between 1 and 12."
    wrongYearError="Enter a year between 0 and 9999."
    yearListener="Object specified by yearSource"
    yearProperty="No default"
    yearSource="No default"
  />
  

View the examples



Public Properties
 PropertyDefined By
  allowedFormatChars : String
The set of formatting characters allowed for separating the month, day, and year values.
DateValidator
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
  dayListener : IValidatorListener
The component that listens for the validation result for the day subfield.
DateValidator
  dayProperty : String
Name of the day property to validate.
DateValidator
  daySource : Object
Object that contains the value of the day field.
DateValidator
 Inheritedenabled : Boolean
Setting this value to false will stop the validator from performing validation.
Validator
  formatError : String
Error message when the inputFormat property is not in the correct format.
DateValidator
  inputFormat : String
The date format to validate the value against.
DateValidator
  invalidCharError : String
Error message when there are invalid characters in the date.
DateValidator
 Inheritedlistener : Object
Specifies the validation listener.
Validator
  monthListener : IValidatorListener
The component that listens for the validation result for the month subfield.
DateValidator
  monthProperty : String
Name of the month property to validate.
DateValidator
  monthSource : Object
Object that contains the value of the month field.
DateValidator
 Inheritedproperty : String
A String specifying the name of the property of the source object that contains the value to validate.
Validator
 Inheritedprototype : Object
[static] A reference to the prototype object of a class or function object.
Object
 Inheritedrequired : Boolean = true
If true, specifies that a missing or empty value causes a validation error.
Validator
 InheritedrequiredFieldError : String
Error message when a value is missing and the required property is true.
Validator
 Inheritedsource : Object
Specifies the object containing the property to validate.
Validator
 Inheritedtrigger : IEventDispatcher
Specifies the component generating the event that triggers the validator.
Validator
 InheritedtriggerEvent : String
Specifies the event that triggers the validation.
Validator
  validateAsString : Object
Determines how to validate the value.
DateValidator
  wrongDayError : String
Error message when the day is invalid.
DateValidator
  wrongLengthError : String
Error message when the length of the date doesn't match that of the inputFormat property.
DateValidator
  wrongMonthError : String
Error message when the month is invalid.
DateValidator
  wrongYearError : String
Error message when the year is invalid.
DateValidator
  yearListener : IValidatorListener
The component that listens for the validation result for the year subfield.
DateValidator
  yearProperty : String
Name of the year property to validate.
DateValidator
  yearSource : Object
Object that contains the value of the year field.
DateValidator
Protected Properties
 PropertyDefined By
 InheritedactualListeners : Array
[read-only] Contains an Array of listener objects, if any, or the source object.
Validator
 InheritedactualTrigger : IEventDispatcher
[read-only] Contains the trigger object, if any, or the source object.
Validator
 InheritedresourceManager : IResourceManager
[read-only] A reference to the object which manages all of the application's localized resources.
Validator
 InheritedsubFields : Array
An Array of Strings containing the names for the properties contained in the value Object passed to the validate() method.
Validator
Public Methods
 MethodDefined By
  
Constructor.
DateValidator
 Inherited
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
 Inherited
Dispatches an event into the event flow.
EventDispatcher
 Inherited
Checks whether the EventDispatcher object has any listeners registered for a specific type of event.
EventDispatcher
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
Called automatically by the MXML compiler when the Validator is created using an MXML tag.
Validator
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Removes a listener from the EventDispatcher object.
EventDispatcher
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
 Inherited
Returns the string representation of the specified object.
Object
 Inherited
validate(value:Object = null, suppressEvents:Boolean = false):ValidationResultEvent
Performs validation and optionally notifies the listeners of the result.
Validator
 Inherited
validateAll(validators:Array):Array
[static] Invokes all the validators in the validators Array.
Validator
  
validateDate(validator:DateValidator, value:Object, baseField:String):Array
[static] Convenience method for calling a validator from within a custom validation function.
DateValidator
 Inherited
Returns the primitive value of the specified object.
Object
 Inherited
Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type.
EventDispatcher
Protected Methods
 MethodDefined By
 Inherited
Sets up all of the listeners for the valid and invalid events dispatched from the validator.
Validator
  
[override] Override of the base class doValidation() method to validate a date.
DateValidator
 Inherited
Returns the Object to validate.
Validator
 Inherited
Returns a ValidationResultEvent from the Array of error results.
Validator
 Inherited
Returns true if value is not null.
Validator
 Inherited
Disconnects all of the listeners for the valid and invalid events dispatched from the validator.
Validator
 Inherited
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
Events
 Event Summary Defined By
 Inherited[broadcast event] Dispatched when the Flash Player or AIR application gains operating system focus and becomes active.EventDispatcher
 Inherited[broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive.EventDispatcher
 InheritedDispatched when validation fails.Validator
 InheritedDispatched when validation succeeds.Validator
Protected Constants
 ConstantDefined By
 InheritedDECIMAL_DIGITS : String = "0123456789"
[static] A String containing the decimal digits 0 through 9.
Validator
 InheritedROMAN_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
Property Detail

allowedFormatChars

property
allowedFormatChars:String

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

The set of formatting characters allowed for separating the month, day, and year values.

The default value is "/\-. ".



Implementation
    public function get allowedFormatChars():String
    public function set allowedFormatChars(value:String):void

dayListener

property 
dayListener:IValidatorListener

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

The component that listens for the validation result for the day subfield. If none is specified, use the value specified for the daySource property.



Implementation
    public function get dayListener():IValidatorListener
    public function set dayListener(value:IValidatorListener):void

dayProperty

property 
public var dayProperty:String

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

Name of the day property to validate. This property is optional, but if you specify the daySource property, you should also set this property.

daySource

property 
daySource:Object

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

Object that contains the value of the day field. If you specify a value for this property, you must also specify a value for the dayProperty property. Do not use this property if you set the source and property properties.



Implementation
    public function get daySource():Object
    public function set daySource(value:Object):void

formatError

property 
formatError:String

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

Error message when the inputFormat property is not in the correct format.

The default value is "Configuration error: Incorrect formatting string.".



Implementation
    public function get formatError():String
    public function set formatError(value:String):void

inputFormat

property 
inputFormat:String

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

The date format to validate the value against. "MM" is the month, "DD" is the day, and "YYYY" is the year. This String is case-sensitive.

The default value is "MM/DD/YYYY".



Implementation
    public function get inputFormat():String
    public function set inputFormat(value:String):void

invalidCharError

property 
invalidCharError:String

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

Error message when there are invalid characters in the date.

The default value is "Invalid characters in your date.".



Implementation
    public function get invalidCharError():String
    public function set invalidCharError(value:String):void

monthListener

property 
monthListener:IValidatorListener

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

The component that listens for the validation result for the month subfield. If none is specified, use the value specified for the monthSource property.



Implementation
    public function get monthListener():IValidatorListener
    public function set monthListener(value:IValidatorListener):void

monthProperty

property 
public var monthProperty:String

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

Name of the month property to validate. This property is optional, but if you specify the monthSource property, you should also set this property.

monthSource

property 
monthSource:Object

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

Object that contains the value of the month field. If you specify a value for this property, you must also specify a value for the monthProperty property. Do not use this property if you set the source and property properties.



Implementation
    public function get monthSource():Object
    public function set monthSource(value:Object):void

validateAsString

property 
validateAsString:Object

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

Determines how to validate the value. If set to true, the validator evaluates the value as a String, unless the value has a month, day, or year property. If false, the validator evaluates the value as a Date object.

The default value is true.



Implementation
    public function get validateAsString():Object
    public function set validateAsString(value:Object):void

wrongDayError

property 
wrongDayError:String

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

Error message when the day is invalid.

The default value is "Enter a valid day for the month.".



Implementation
    public function get wrongDayError():String
    public function set wrongDayError(value:String):void

wrongLengthError

property 
wrongLengthError:String

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

Error message when the length of the date doesn't match that of the inputFormat property.

The default value is "Type the date in the format inputFormat.".



Implementation
    public function get wrongLengthError():String
    public function set wrongLengthError(value:String):void

wrongMonthError

property 
wrongMonthError:String

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

Error message when the month is invalid.

The default value is "Enter a month between 1 and 12.".



Implementation
    public function get wrongMonthError():String
    public function set wrongMonthError(value:String):void

wrongYearError

property 
wrongYearError:String

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

Error message when the year is invalid.

The default value is "Enter a year between 0 and 9999.".



Implementation
    public function get wrongYearError():String
    public function set wrongYearError(value:String):void

yearListener

property 
yearListener:IValidatorListener

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

The component that listens for the validation result for the year subfield. If none is specified, use the value specified for the yearSource property.



Implementation
    public function get yearListener():IValidatorListener
    public function set yearListener(value:IValidatorListener):void

yearProperty

property 
public var yearProperty:String

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

Name of the year property to validate. This property is optional, but if you specify the yearSource property, you should also set this property.

yearSource

property 
yearSource:Object

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

Object that contains the value of the year field. If you specify a value for this property, you must also specify a value for the yearProperty property. Do not use this property if you set the source and property properties.



Implementation
    public function get yearSource():Object
    public function set yearSource(value:Object):void
Constructor Detail

DateValidator

()Constructor
public function DateValidator()

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

Constructor.

Method Detail

doValidation

()method
override protected function doValidation(value:Object):Array

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

Override of the base class doValidation() method to validate a date.

You do not call this method directly; Flex calls it as part of performing a validation. If you create a custom validator class, you must implement this method.

Parameters

value:Object — Either a String or an Object to validate.

Returns
Array — An Array of ValidationResult objects, with one ValidationResult object for each field examined by the validator.

validateDate

()method 
public static function validateDate(validator:DateValidator, value:Object, baseField:String):Array

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

Convenience method for calling a validator from within a custom validation function. Each of the standard Flex validators has a similar convenience method.

Parameters

validator:DateValidator — The DateValidator instance.
 
value:Object — A field to validate.
 
baseField:String — Text representation of the subfield specified in the value parameter. For example, if the value parameter specifies value.date, the baseField value is "date".

Returns
Array — An Array of ValidationResult objects, with one ValidationResult object for each field examined by the validator.

See also

DateValidatorExample.mxml
<?xml version="1.0" encoding="utf-8"?>
<!-- Simple example to demonstrate the DateValidator. -->
<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>
        import mx.controls.Alert;
    </fx:Script>

    <fx:Declarations>
        <fx:Model id="CheckModel">
            <dateInfo>
                <DOB>{dob.text}</DOB>
            </dateInfo>
        </fx:Model>

        <mx:DateValidator source="{dob}" property="text" allowedFormatChars="/" 
                trigger="{myButton}" triggerEvent="click" 
                valid="Alert.show('Validation Succeeded!');"/>
    </fx:Declarations>

    <s:Panel title="DateValidator Example"
            width="75%" height="75%" 
            horizontalCenter="0" verticalCenter="0">
        <mx:Form left="10" right="10" top="10" bottom="10">
            <mx:FormItem label="Enter date of birth (mm/dd/yyyy): ">
                <s:TextInput id="dob" width="100%"/>
            </mx:FormItem>
            <mx:FormItem >
                <s:Button id="myButton" label="Validate" />
            </mx:FormItem>
        </mx:Form>
    </s:Panel>

</s:Application>