Apache Flex 4.16.1 API Reference | All Packages | All Classes | Index | Frames No Frames |
DateValidator

Package | mx.validators
Class | public class DateValidator
Inheritance | DateValidator Validator flash.events.EventDispatcher

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 Syntax Show MXML Syntax
Hide 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."
        includeFormatInError="true|false"
        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
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | allowedFormatChars : String The set of formatting characters allowed for separating the month, day, and year values. | DateValidator
|  | 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
|  | enabled : 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
|  | includeFormatInError : Boolean If true the date format is shown in some validation error messages. | 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
|  | listener : 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
|  | property : String A String specifying the name of the property of the source object that contains the value to validate. | Validator
|  | required : Boolean 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
|  | 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
Hide Inherited Protected Properties
Show Inherited Protected Properties

| 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

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | DateValidator() Constructor. | DateValidator
|  | initialized(document:Object, id:String):void Called automatically by the MXML compiler when the Validator is created using an MXML tag. | Validator
|  | validate(value:Object = null, suppressEvents:Boolean = false):ValidationResultEvent Performs validation and optionally notifies the listeners of the result. | Validator
|  | 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

Protected Methods
Show Inherited Protected Methods
Show Inherited Protected Methods

| Method | Defined By
--- | --- | ---
|  | addListenerHandler():void Sets up all of the listeners for the valid and invalid events dispatched from the validator. | Validator
|  | doValidation(value:Object):Array [override] Override of the base class doValidation() method to validate a date. | DateValidator
|  | getValueFromSource():Object Returns the Object to validate. | Validator
|  | handleResults(errorResults:Array):ValidationResultEvent Returns a ValidationResultEvent from the Array of error results. | Validator
|  | isRealValue(value:Object):Boolean Returns true if value is not null. | Validator
|  | removeListenerHandler():void Disconnects all of the listeners for the valid and invalid events dispatched from the validator. | Validator
|  | resourcesChanged():void 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
Hide Inherited Events
Show Inherited Events

| Event | Summary | Defined By
--- | --- | --- | ---
|  | invalid | Dispatched when validation fails. | Validator
|  | valid | Dispatched when validation succeeds. | Validator

Protected Constants
Hide Inherited Protected Constants
Show Inherited Protected Constants

| 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

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`

includeFormatInError | property |

`includeFormatInError:Boolean`

Language Version : | ActionScript 3.0

Product Version : | ApacheFlex 4.10

Runtime Versions : | Flash Player 9, AIR 1.1

If `true` the date format is shown in some validation error messages. Setting to `false` changes all DateValidators.

The default value is `true`.

Implementation
`public function get includeFormatInError():Boolean`
`public function set includeFormatInError(value:Boolean):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

mx.validators.ValidationResult
Examples
DateValidatorExample.mxml

    <?xml version="1.0" encoding="utf-8"?>
    <!--

      Licensed to the Apache Software Foundation (ASF) under one or more
      contributor license agreements.  See the NOTICE file distributed with
      this work for additional information regarding copyright ownership.
      The ASF licenses this file to You under the Apache License, Version 2.0
      (the "License"); you may not use this file except in compliance with
      the License.  You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      See the License for the specific language governing permissions and
      limitations under the License.

    -->
    <!-- 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>

Wed Nov 15 2017, 09:50 AM +01:00