Flex中如何利用CreditCardValidator和CreditCardValidatorCardType这两个类对信用卡进行认证的例子
By Minidxer | October 26, 2008
接下来的例子演示了Flex中如何利用CreditCardValidator和CreditCardValidatorCardType这两个类,对信用卡进行认证。
让我们先来看一下Demo(可以右键View Source或点击这里察看源代码):
下面是完整代码(或点击这里察看):
Download: main.mxml
- <?xml version="1.0" encoding="utf-8"?>
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
- layout="vertical"
- verticalAlign="middle"
- backgroundColor="white"
- creationComplete="init();">
- <mx:Style>
- global {
- modalTransparencyBlur: 0;
- modalTransparency: 0.4;
- modalTransparencyDuration: 250;
- }
- </mx:Style>
- <mx:Script>
- <![CDATA[
- import mx.controls.Alert;
- import mx.events.ValidationResultEvent;
- import mx.styles.StyleManager;
- import mx.validators.CreditCardValidator;
- import mx.validators.CreditCardValidatorCardType;
- private var ccVal:CreditCardValidator;
- private var globalStyle:CSSStyleDeclaration;
- private function init():void {
- /* Initialize credit card validator. */
- ccVal = new CreditCardValidator();
- ccVal.cardNumberSource = cc;
- ccVal.cardNumberProperty = "cardNumber";
- ccVal.cardTypeSource = cc;
- ccVal.cardTypeProperty = "cardType";
- ccVal.addEventListener(ValidationResultEvent.VALID, isValid);
- ccVal.addEventListener(ValidationResultEvent.INVALID, isInvalid);
- /* Create reference to global style. */
- globalStyle = StyleManager.getStyleDeclaration("global");
- }
- private function isValid(evt:ValidationResultEvent):void {
- globalStyle.setStyle("modalTransparencyColor", "green");
- Alert.show("you're valid", evt.type);
- }
- private function isInvalid(evt:ValidationResultEvent):void {
- globalStyle.setStyle("modalTransparencyColor", "red");
- Alert.show(evt.message, evt.type);
- }
- ]]>
- </mx:Script>
- <mx:Model id="cc">
- <card>
- <cardNumber>{cardNumber.text}</cardNumber>
- <cardType>{cardType.selectedItem.data}</cardType>
- </card>
- </mx:Model>
- <mx:Array id="ccType">
- <mx:Object label="American Express"
- data="{CreditCardValidatorCardType.AMERICAN_EXPRESS}" />
- <mx:Object label="Diners Club"
- data="{CreditCardValidatorCardType.DINERS_CLUB}" />
- <mx:Object label="Discover"
- data="{CreditCardValidatorCardType.DISCOVER}" />
- <mx:Object label="Master Card"
- data="{CreditCardValidatorCardType.MASTER_CARD}" />
- <mx:Object label="Visa"
- data="{CreditCardValidatorCardType.VISA}" />
- </mx:Array>
- <mx:Form>
- <mx:FormItem label="Card number:" required="true">
- <mx:TextInput id="cardNumber"
- restrict="[0-9]" />
- </mx:FormItem>
- <mx:FormItem label="Card type:" required="true">
- <mx:ComboBox id="cardType"
- dataProvider="{ccType}"
- prompt="Please select a credit card type."/>
- </mx:FormItem>
- <mx:FormItem>
- <mx:Button label="Validate"
- click="ccVal.validate();" />
- </mx:FormItem>
- </mx:Form>
- </mx:Application>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子
Topics:
Other |
No Comments » |
Tags: CreditCardValidator, CreditCardValidatorCardType