包 | mx.validators |
类 | public class CreditCardValidator |
继承 | CreditCardValidator Validator EventDispatcher Object |
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
您可以按两种方式指定 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
- 指定要验证的卡的号码。
-
为了执行验证,它使用以下指导原则:
长度:
- Visa:13 或 16 位数字
- MasterCard:16 位数字
- Discover:16 位数字
- American Express:15 位数字
- Diners Club:14 位数字,或者如果它还用作 MasterCard,则为 16 位数字
- Visa:4
- MasterCard:51 到 55
- Discover:6011
- American Express:34 或 37
- Diners Club:300 到 305、36 或 38、51 到 55
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." />
相关 API 元素
属性 | 由以下参数定义 | ||
---|---|---|---|
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 | ||
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 | ||
返回指定对象的字符串表示形式。 | Object | ||
执行验证并(可选)将结果通知给侦听器。 | Validator | ||
[静态]
调用验证程序数组中的所有验证程序。 | Validator | ||
[静态]
用于调用验证程序的方便方法。 | CreditCardValidator | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher |
方法 | 由以下参数定义 | ||
---|---|---|---|
为从验证程序调度的有效和无效事件设置所有侦听器。 | Validator | ||
[覆盖]
覆盖基类 doValidation() 方法以验证信用卡号码。 | CreditCardValidator | ||
返回要验证的对象。 | Validator | ||
从错误结果数组返回 ValidationResultEvent。 | Validator | ||
如果值不为 null,则返回 true。 | Validator | ||
断开从验证程序调度的有效和无效事件的所有侦听器的连接。 | Validator | ||
构造 Validator 后,每当 ResourceManager 又调度一个“change”事件以指示已通过某种方式更改了本地化资源时,将会调用此方法。 | Validator |
allowedFormatChars | 属性 |
cardNumberListener | 属性 |
cardNumberListener:IValidatorListener
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
侦听卡号码子字段验证结果的组件。如果未进行指定,则使用为 cardNumberSource
属性指定的值。
实现
public function get cardNumberListener():IValidatorListener
public function set cardNumberListener(value:IValidatorListener):void
cardNumberProperty | 属性 |
public var cardNumberProperty:String
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
要验证的卡号码属性的名称。此属性为可选项,但如果指定 cardNumberSource
属性,则应同时设置此属性。
cardNumberSource | 属性 |
cardTypeListener | 属性 |
cardTypeListener:IValidatorListener
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
侦听卡类型子字段验证结果的组件。如果未进行指定,则使用为 cardTypeSource
属性指定的值。
实现
public function get cardTypeListener():IValidatorListener
public function set cardTypeListener(value:IValidatorListener):void
cardTypeProperty | 属性 |
public var cardTypeProperty:String
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
要验证的卡类型属性的名称。此属性为可选项,但如果指定 cardTypeSource
属性,则应同时设置此属性。
在 MXML 中,有效值为:
"American Express"
"Diners Club"
"Discover"
"MasterCard"
"Visa"
在 ActionScript 中,可以使用以下常量来设置此属性:
CreditCardValidatorCardType.AMERICAN_EXPRESS
、CreditCardValidatorCardType.DINERS_CLUB
、CreditCardValidatorCardType.DISCOVER
、CreditCardValidatorCardType.MASTER_CARD
和 CreditCardValidatorCardType.VISA
。
相关 API 元素
cardTypeSource | 属性 |
invalidCharError | 属性 |
invalidNumberError | 属性 |
noNumError | 属性 |
noTypeError | 属性 |
wrongLengthError | 属性 |
wrongTypeError | 属性 |
wrongTypeError:String
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
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()
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
构造函数。
doValidation | () | 方法 |
override protected function doValidation(value:Object):Array
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
覆盖基类 doValidation()
方法以验证信用卡号码。
不要直接调用此方法;Flex 会在执行验证的过程中调用它。如果创建自定义 Validator 类,则必须实现此方法。
参数
value:Object — 要验证的对象。
|
Array — ValidationResult 对象的数组,验证程序检查的每个字段都有一个 ValidationResult 对象。
|
validateCreditCard | () | 方法 |
public static function validateCreditCard(validator:CreditCardValidator, value:Object, baseField:String):Array
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
用于调用验证程序的方便方法。每个标准 Flex 验证程序都有一个类似的方便方法。
参数
validator:CreditCardValidator — CreditCardValidator 实例。
| |
value:Object — 要验证的字段,它必须包含以下字段:
| |
baseField:String — 在值参数中指定的子字段的文本表示形式。例如,如果 value 参数指定 value.date,则 baseField 值为“date”。
|
Array — ValidationResult 对象的数组,验证程序检查的每个字段都有一个 ValidationResult 对象。
|
相关 API 元素
<?xml version="1.0" encoding="utf-8"?> <!-- Simple example to demonstrate the CreditCardValidator. --> <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> <!-- Define model for the credit card data. --> <fx:Model id="creditcard"> <card> <cardType>{cardTypeCombo.selectedItem.data}</cardType> <cardNumber>{cardNumberInput.text}</cardNumber> </card> </fx: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!');"/> </fx:Declarations> <s:Panel title="CreditCardValidator Example" width="75%" height="75%" horizontalCenter="0" verticalCenter="0"> <mx:Form id="creditCardForm" left="10" right="10" top="10" bottom="10"> <mx:FormItem label="Card Type"> <mx:ComboBox id="cardTypeCombo"> <mx:dataProvider> <fx:Object label="American Express" data="American Express"/> <fx:Object label="Diners Club" data="Diners Club"/> <fx:Object label="Discover" data="Discover"/> <fx:Object label="MasterCard" data="MasterCard"/> <fx:Object label="Visa" data="Visa"/> </mx:dataProvider> </mx:ComboBox> </mx:FormItem> <mx:FormItem label="Credit Card Number"> <s:TextInput id="cardNumberInput"/> </mx:FormItem> <mx:FormItem> <s:Button id="myButton" label="Check Credit"/> </mx:FormItem> </mx:Form> </s:Panel> </s:Application>
Tue Jun 12 2018, 11:04 AM Z