包 | mx.validators |
类 | public class CreditCardValidator |
继承 | CreditCardValidator Validator EventDispatcher Object |
您可以按两种方式指定 CreditCardValidator 的输入:
cardNumberSource
和 cardNumberProperty
属性指定信用卡号码的位置,使用 cardTypeSource
和 cardTypeProperty
属性指定要验证的信用卡类型的位置。
source
和 property
属性指定单个对象。该对象应该包含以下字段:
cardType
- 指定要验证的信用卡的类型。
在 MXML 中,使用以下值:"American Express"
、"Diners Club"
、"Discover"
、"MasterCard"
或 "Visa"
。
在 ActionScript 中,使用静态常量 CreditCardValidatorCardType.MASTER_CARD
、CreditCardValidatorCardType.VISA
或 CreditCardValidatorCardType.AMERICAN_EXPRESS
CreditCardValidatorCardType.DISCOVER
或 CreditCardValidatorCardType.DINERS_CLUB
。
cardNumber
- 指定要验证的卡的号码。
为了执行验证,它使用以下指导原则:
长度:
The <mx:CreditCardValidator>
tag
inherits all of the tag attributes of its superclass,
and adds the following tag attributes:
<mx:CreditCardValidator allowedFormatChars=" -" cardNumberListener="Object specified by cardNumberSource" cardNumberProperty="No default" cardNumberSource="No default" cardTypeListener="Object specified by cardTypeSource" cardTypeProperty="No default" cardTypeSource="No default" invalidCharError= "Invalid characters in your credit card number. (Enter numbers only.)" invalidNumberError="The credit card number is invalid." noNumError="No credit card number is specified." noTypeError="No credit card type is specified or the type is not valid." wrongLengthError="Your credit card number contains the wrong number of digits." wrongTypeError="Incorrect card type is specified." />
另请参见
属性 | 定义方 | ||
---|---|---|---|
allowedFormatChars : String cardNumber 字段中允许的格式化字符集。 | CreditCardValidator | ||
cardNumberListener : IValidatorListener 侦听卡号码子字段验证结果的组件。 | CreditCardValidator | ||
cardNumberProperty : String 要验证的卡号码属性的名称。 | CreditCardValidator | ||
cardNumberSource : Object 包含卡号码字段的值的对象。 | CreditCardValidator | ||
cardTypeListener : IValidatorListener 侦听卡类型子字段验证结果的组件。 | CreditCardValidator | ||
cardTypeProperty : String 要验证的卡类型属性的名称。 | CreditCardValidator | ||
cardTypeSource : Object 包含卡类型字段的值的对象。 | CreditCardValidator | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
enabled : Boolean 将此值设置为 false 将停止验证程序执行验证操作。 | Validator | ||
invalidCharError : String cardNumber 字段包含无效字符时的错误消息。 | CreditCardValidator | ||
invalidNumberError : String 信用卡号码无效时的错误消息。 | CreditCardValidator | ||
listener : Object 指定验证侦听器。 | Validator | ||
noNumError : String cardNumber 字段为空时的错误消息。 | CreditCardValidator | ||
noTypeError : String cardType 字段为空白时的错误消息。 | CreditCardValidator | ||
property : String 一个字符串,用于指定包含要验证的值的 source 对象的属性名称。 | Validator | ||
prototype : Object [静态]
对类或函数对象的原型对象的引用。 | Object | ||
required : Boolean = true 如果为 true,则指定缺少值或空值将导致验证错误。 | Validator | ||
requiredFieldError : String 缺少值和 required 属性为 true 时的错误消息。 | Validator | ||
source : Object 指定包含要验证的属性的对象。 | Validator | ||
trigger : IEventDispatcher 指定生成触发验证程序的组件。 | Validator | ||
triggerEvent : String 指定触发验证的事件。 | Validator | ||
wrongLengthError : String cardNumber 字段包含的指定信用卡类型的位数不正确时的错误消息。 | CreditCardValidator | ||
wrongTypeError : String cardType 字段包含无效信用卡类型时的错误消息。 | CreditCardValidator |
方法 | 定义方 | ||
---|---|---|---|
构造函数。 | CreditCardValidator | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void 使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | ||
将事件调度到事件流中。 | EventDispatcher | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | ||
指示对象是否已经定义了指定的属性。 | Object | ||
如果 Validator 是使用 MXML 标签创建的,则由 MXML 编译器自动调用。 | Validator | ||
指示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
指示指定的属性是否存在、是否可枚举。 | Object | ||
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | ||
设置循环操作动态属性的可用性。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
执行验证并(可选)将结果通知给侦听器。 | Validator | ||
[静态] 调用验证程序数组中的所有验证程序。 | Validator | ||
[静态] 用于调用验证程序的方便方法。 | CreditCardValidator | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。 | EventDispatcher |
方法 | 定义方 | ||
---|---|---|---|
为从验证程序调度的有效和无效事件设置所有侦听器。 | Validator | ||
覆盖基类 doValidation() 方法以验证信用卡号码。 | CreditCardValidator | ||
返回要验证的对象。 | Validator | ||
从错误结果数组返回 ValidationResultEvent。 | Validator | ||
如果值不为 null,则返回 true。 | Validator | ||
断开从验证程序调度的有效和无效事件的所有侦听器的连接。 | Validator | ||
构造 Validator 后,每当 ResourceManager 又调度一个“change”事件以指示已通过某种方式更改了本地化资源时,将会调用此方法。 | Validator |
allowedFormatChars | 属性 |
allowedFormatChars:String
[读写]
cardNumber
字段中允许的格式化字符集。
默认值为 " -" (space and dash).
public function get allowedFormatChars():String
public function set allowedFormatChars(value:String):void
cardNumberListener | 属性 |
cardNumberListener:IValidatorListener
[读写]
侦听卡号码子字段验证结果的组件。如果未进行指定,则使用为 cardNumberSource
属性指定的值。
public function get cardNumberListener():IValidatorListener
public function set cardNumberListener(value:IValidatorListener):void
cardNumberProperty | 属性 |
public var cardNumberProperty:String
要验证的卡号码属性的名称。此属性为可选项,但如果指定 cardNumberSource
属性,则应同时设置此属性。
cardNumberSource | 属性 |
cardNumberSource:Object
[读写]
包含卡号码字段的值的对象。如果为此属性指定值,则必须同时为 cardNumberProperty
属性指定值。如果设置 source
和 property
属性,请不要使用此属性。
public function get cardNumberSource():Object
public function set cardNumberSource(value:Object):void
cardTypeListener | 属性 |
cardTypeListener:IValidatorListener
[读写]
侦听卡类型子字段验证结果的组件。如果未进行指定,则使用为 cardTypeSource
属性指定的值。
public function get cardTypeListener():IValidatorListener
public function set cardTypeListener(value:IValidatorListener):void
cardTypeProperty | 属性 |
public var cardTypeProperty:String
要验证的卡类型属性的名称。此属性为可选项,但如果指定 cardTypeSource
属性,则应同时设置此属性。
在 MXML 中,有效值为:
"American Express"
"Diners Club"
"Discover"
"MasterCard"
"Visa"
在 ActionScript 中,可以使用以下常量来设置此属性:
CreditCardValidatorCardType.AMERICAN_EXPRESS
、CreditCardValidatorCardType.DINERS_CLUB
、CreditCardValidatorCardType.DISCOVER
、CreditCardValidatorCardType.MASTER_CARD
和 CreditCardValidatorCardType.VISA
。
另请参见
cardTypeSource | 属性 |
cardTypeSource:Object
[读写]
包含卡类型字段的值的对象。如果为此属性指定值,则必须同时为 cardTypeProperty
属性指定值。如果设置 source
和 property
属性,请不要使用此属性。
public function get cardTypeSource():Object
public function set cardTypeSource(value:Object):void
invalidCharError | 属性 |
invalidCharError:String
[读写]
cardNumber
字段包含无效字符时的错误消息。
默认值为 "Invalid characters in your credit card number. (Enter numbers only.)".
public function get invalidCharError():String
public function set invalidCharError(value:String):void
invalidNumberError | 属性 |
invalidNumberError:String
[读写] 信用卡号码无效时的错误消息。
默认值为 "The credit card number is invalid.".
public function get invalidNumberError():String
public function set invalidNumberError(value:String):void
noNumError | 属性 |
noNumError:String
[读写]
cardNumber
字段为空时的错误消息。
默认值为 "No credit card number is specified.".
public function get noNumError():String
public function set noNumError(value:String):void
noTypeError | 属性 |
noTypeError:String
[读写]
cardType
字段为空白时的错误消息。
默认值为 "No credit card type is specified or the type is not valid.".
public function get noTypeError():String
public function set noTypeError(value:String):void
wrongLengthError | 属性 |
wrongLengthError:String
[读写]
cardNumber
字段包含的指定信用卡类型的位数不正确时的错误消息。
默认值为 "Your credit card number contains the wrong number of digits.".
public function get wrongLengthError():String
public function set wrongLengthError(value:String):void
wrongTypeError | 属性 |
wrongTypeError:String
[读写]
cardType
字段包含无效信用卡类型时的错误消息。您应该在 cardType
字段中使用以下预定义的常量:CreditCardValidatorCardType.MASTER_CARD
、CreditCardValidatorCardType.VISA
、CreditCardValidatorCardType.AMERICAN_EXPRESS
、CreditCardValidatorCardType.DISCOVER
或 CreditCardValidatorCardType.DINERS_CLUB
。
默认值为 "Incorrect card type is specified.".
public function get wrongTypeError():String
public function set wrongTypeError(value:String):void
CreditCardValidator | () | 构造函数 |
public function CreditCardValidator()
构造函数。
doValidation | () | 方法 |
override protected function doValidation(value:Object):Array
覆盖基类 doValidation()
方法以验证信用卡号码。
不要直接调用此方法;Flex 会在执行验证的过程中调用它。如果创建自定义 Validator 类,则必须实现此方法。
参数
value:Object — 要验证的对象。 |
Array — ValidationResult 对象的数组,验证程序检查的每个字段都有一个 ValidationResult 对象。 |
validateCreditCard | () | 方法 |
public static function validateCreditCard(validator:CreditCardValidator, value:Object, baseField:String):Array
用于调用验证程序的方便方法。每个标准 Flex 验证程序都有一个类似的方便方法。
参数
validator:CreditCardValidator — CreditCardValidator 实例。 | |
value:Object —
要验证的字段,它必须包含以下字段:
| |
baseField:String —
在值参数中指定的子字段的文本表示形式。例如,如果 value 参数指定 value.date,则 baseField 值为“date”。
|
Array — ValidationResult 对象的数组,验证程序检查的每个字段都有一个 ValidationResult 对象。 |
另请参见
<?xml version="1.0"?> <!-- Simple example to demonstrate the CreditCardValidator. --> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Script> import mx.controls.Alert; </mx:Script> <!-- Define model for the credit card data. --> <mx:Model id="creditcard"> <card> <cardType>{cardTypeCombo.selectedItem.data}</cardType> <cardNumber>{cardNumberInput.text}</cardNumber> </card> </mx:Model> <mx:CreditCardValidator id="ccV" cardTypeSource="{creditcard}" cardTypeProperty="cardType" cardNumberSource="{creditcard}" cardNumberProperty="cardNumber" trigger="{myButton}" triggerEvent="click" cardTypeListener="{cardTypeCombo}" cardNumberListener="{cardNumberInput}" valid="Alert.show('Validation Succeeded!');"/> <mx:Panel title="CreditCardValidator Example" width="75%" height="75%" paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10"> <mx:Form id="creditCardForm"> <mx:FormItem label="Card Type"> <mx:ComboBox id="cardTypeCombo"> <mx:dataProvider> <mx:Object label="American Express" data="American Express"/> <mx:Object label="Diners Club" data="Diners Club"/> <mx:Object label="Discover" data="Discover"/> <mx:Object label="MasterCard" data="MasterCard"/> <mx:Object label="Visa" data="Visa"/> </mx:dataProvider> </mx:ComboBox> </mx:FormItem> <mx:FormItem label="Credit Card Number"> <mx:TextInput id="cardNumberInput"/> </mx:FormItem> <mx:FormItem> <mx:Button id="myButton" label="Check Credit"/> </mx:FormItem> </mx:Form> </mx:Panel> </mx:Application>