| 包 | 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 - 指定要验证的卡的号码。
为了执行验证,它使用以下指导原则:
长度:
隐藏 MXML 语法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>