套件 | mx.validators |
類別 | public class Validator |
繼承 | Validator EventDispatcher Object |
實作 | IMXMLObject, IValidator |
子類別 | CreditCardValidator, CurrencyValidator, DateValidator, EmailValidator, MultiTriggerValidator, MultiTriggerValidator, NumberValidator, PhoneNumberValidator, RegExpValidator, SocialSecurityValidator, StringValidator, StyleValidator, ZipCodeValidator |
語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
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" />
更多範例
相關 API 元素
屬性 | 定義自 | ||
---|---|---|---|
constructor : Object
類別物件的參照或是特定物件實體的建構函數。 | 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 |
屬性 | 定義自 | ||
---|---|---|---|
actualListeners : Array [唯讀]
Contains an Array of listener objects, if any,
or the source object. | Validator | ||
actualTrigger : IEventDispatcher [唯讀]
Contains the trigger object, if any,
or the source object. | Validator | ||
resourceManager : IResourceManager [唯讀]
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 |
方法 | 定義自 | ||
---|---|---|---|
Constructor. | Validator | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
會在 EventDispatcher 物件註冊事件偵聽程式,以便讓偵聽程式收到事件的通知。 | EventDispatcher | ||
會將事件傳送到事件流程。 | EventDispatcher | ||
會檢查 EventDispatcher 物件是否有對特定的事件類型註冊偵聽程式。 | EventDispatcher | ||
指出物件是否有已定義的指定屬性。 | Object | ||
Called automatically by the MXML compiler when the Validator
is created using an MXML tag. | Validator | ||
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。 | Object | ||
指出指定的屬性是否存在,以及是否可列舉。 | Object | ||
會從 EventDispatcher 物件移除偵聽程式。 | EventDispatcher | ||
為迴圈作業設定動態屬性的可用性。 | Object | ||
傳回代表此物件的字串,根據地區特定慣例進行格式化。 | Object | ||
會傳回指定之物件的字串形式。 | Object | ||
Performs validation and optionally notifies
the listeners of the result. | Validator | ||
[靜態]
Invokes all the validators in the validators Array. | Validator | ||
會傳回指定之物件的基本值。 | Object | ||
檢查此 EventDispatcher 物件是否已註冊事件偵聽程式,或者此物件的任何祖系已為特定事件類型註冊事件偵聽程式。 | EventDispatcher |
方法 | 定義自 | ||
---|---|---|---|
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 |
事件 | 摘要 | 定義自 | ||
---|---|---|---|---|
[廣播事件] 當 Flash Player 或 AIR 應用程式取得作業系統焦點並成為作用中時傳送。 | EventDispatcher | |||
[廣播事件] 當 Flash Player 或 AIR 應用程式失去作業系統焦點並成為非作用中時傳送。 | EventDispatcher | |||
Dispatched when validation fails. | Validator | |||
Dispatched when validation succeeds. | Validator |
常數 | 定義自 | ||
---|---|---|---|
DECIMAL_DIGITS : String = "0123456789" [靜態]
A String containing the decimal digits 0 through 9. | Validator | ||
ROMAN_LETTERS : String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" [靜態]
A string containing the upper- and lower-case letters
of the Roman alphabet ("A" through "Z" and "a" through "z"). | Validator |
actualListeners | 屬性 |
actualTrigger | 屬性 |
actualTrigger:IEventDispatcher
[唯讀] 語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | 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
.
實作
protected function get actualTrigger():IEventDispatcher
enabled | 屬性 |
enabled:Boolean
語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | 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.
預設值為 true。
實作
public function get enabled():Boolean
public function set enabled(value:Boolean):void
listener | 屬性 |
listener:Object
語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | 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.
實作
public function get listener():Object
public function set listener(value:Object):void
property | 屬性 |
property:String
語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | 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.
預設值為 null。
實作
public function get property():String
public function set property(value:String):void
required | 屬性 |
public var required:Boolean = true
語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
If true
, specifies that a missing or empty
value causes a validation error.
預設值為 true。
requiredFieldError | 屬性 |
requiredFieldError:String
語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Error message when a value is missing and the
required
property is true
.
預設值為 "This field is required."。
實作
public function get requiredFieldError():String
public function set requiredFieldError(value:String):void
resourceManager | 屬性 |
resourceManager:IResourceManager
[唯讀] 語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | 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.
此屬性可以做為資料繫結的來源。一旦修改此屬性,將傳送 unused
事件。
實作
protected function get resourceManager():IResourceManager
source | 屬性 |
source:Object
語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | 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.
預設值為 null。
實作
public function get source():Object
public function set source(value:Object):void
subFields | 屬性 |
protected var subFields:Array
語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | 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 | 屬性 |
trigger:IEventDispatcher
語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | 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.
實作
public function get trigger():IEventDispatcher
public function set trigger(value:IEventDispatcher):void
triggerEvent | 屬性 |
triggerEvent:String
語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | 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 ("").
實作
public function get triggerEvent():String
public function set triggerEvent(value:String):void
Validator | () | 建構函式 |
public function Validator()
語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Constructor.
addListenerHandler | () | 方法 |
protected function addListenerHandler():void
語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | 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 | () | 方法 |
protected function doValidation(value:Object):Array
語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | 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.
參數
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.
|
更多範例
相關 API 元素
getValueFromSource | () | 方法 |
protected function getValueFromSource():Object
語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | 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.
傳回值Object — The Object to validate.
|
handleResults | () | 方法 |
protected function handleResults(errorResults:Array):ValidationResultEvent
語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | 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.
參數
errorResults:Array — Array of ValidationResult objects.
|
ValidationResultEvent — The ValidationResultEvent returned by the validate() method.
|
initialized | () | 方法 |
public function initialized(document:Object, id:String):void
語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Called automatically by the MXML compiler when the Validator is created using an MXML tag.
參數
document:Object — The MXML document containing this Validator.
| |
id:String — Ignored.
|
isRealValue | () | 方法 |
removeListenerHandler | () | 方法 |
protected function removeListenerHandler():void
語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | 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 | () | 方法 |
protected function resourcesChanged():void
語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | 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 | () | 方法 |
public function validate(value:Object = null, suppressEvents:Boolean = false):ValidationResultEvent
語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Performs validation and optionally notifies the listeners of the result.
參數
value:Object (default = null ) — Optional value to validate.
If null, then the validator uses the source and
property properties to determine the value.
If you specify this argument, you should also set the
listener property to specify the target component
for any validation error messages.
| |
suppressEvents:Boolean (default = false ) — If false , 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, the
ValidationResultEvent.results Array property is empty.
For a validation failure, the
ValidationResultEvent.results Array 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 the ValidationResult.isError
property to determine if the field passed or failed the validation.
|
相關 API 元素
validateAll | () | 方法 |
public static function validateAll(validators:Array):Array
語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | 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.
參數
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 | 事件 |
mx.events.ValidationResultEvent
屬性 ValidationResultEvent.type =
mx.events.ValidationResultEvent.INVALID
語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | 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 the currentTarget . |
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 currentTarget property to always access the
Object listening for the event. |
valid | 事件 |
mx.events.ValidationResultEvent
屬性 ValidationResultEvent.type =
mx.events.ValidationResultEvent.VALID
語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | 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 valid
event.
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 the currentTarget . |
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 currentTarget property to always access the
Object listening for the event. |
DECIMAL_DIGITS | 常數 |
protected static const DECIMAL_DIGITS:String = "0123456789"
語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
A String containing the decimal digits 0 through 9.
ROMAN_LETTERS | 常數 |
protected static const ROMAN_LETTERS:String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | 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>
Tue Jun 12 2018, 03:47 PM Z