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.
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"
/>
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.
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
The component that listens for the validation result
for the month subfield.
If none is specified, use the value specified
for the monthSource property.
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
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.
<?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>