| Package | mx.validators | 
| Class | public class CreditCardValidator | 
| Inheritance | CreditCardValidator  Validator  EventDispatcher  Object | 
| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
You can specify the input to the CreditCardValidator in two ways:
- Use the cardNumberSourceandcardNumberPropertyproperties to specify the location of the credit card number, and thecardTypeSourceandcardTypePropertyproperties to specify the location of the credit card type to validate.
- Use the sourceandpropertyproperties to specify a single Object. The Object should contain the following fields:- 
                           cardType- Specifies the type of credit card being validated.In MXML, use the values: "American Express","Diners Club","Discover","MasterCard", or"Visa".In ActionScript, use the static constants CreditCardValidatorCardType.MASTER_CARD,CreditCardValidatorCardType.VISA, orCreditCardValidatorCardType.AMERICAN_EXPRESSCreditCardValidatorCardType.DISCOVER, orCreditCardValidatorCardType.DINERS_CLUB.
- 
                           cardNumber- Specifies the number of the card being validated.
 
- 
                           
To perform the validation, it uses the following guidelines:
Length:
- Visa: 13 or 16 digits
- MasterCard: 16 digits
- Discover: 16 digits
- American Express: 15 digits
- Diners Club: 14 digits or 16 digits if it also functions as MasterCard
- Visa: 4
- MasterCard: 51 to 55
- Discover: 6011
- American Express: 34 or 37
- Diners Club: 300 to 305, 36 or 38, 51 to 55
 Hide MXML Syntax
Hide MXML SyntaxThe <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." 
  />
  
 
  More examples
Learn more
About the source and property properties
About triggering validation
Triggering validation by using events
Triggering validation programmatically
Validating required fields
General guidelines for validation
Working with validation errors
Working with validation events
Related API Elements
| Property | Defined By | ||
|---|---|---|---|
| allowedFormatChars : String  
	  The set of formatting characters allowed in the
	  cardNumber field. | CreditCardValidator | ||
| cardNumberListener : IValidatorListener  
	  The component that listens for the validation result
	  for the card number subfield. | CreditCardValidator | ||
| cardNumberProperty : String 
	  Name of the card number property to validate. | CreditCardValidator | ||
| cardNumberSource : Object  
	  Object that contains the value of the card number field. | CreditCardValidator | ||
| cardTypeListener : IValidatorListener  
	  The component that listens for the validation result
	  for the card type subfield. | CreditCardValidator | ||
| cardTypeProperty : String 
	  Name of the card type property to validate. | CreditCardValidator | ||
| cardTypeSource : Object  
	  Object that contains the value of the card type field. | CreditCardValidator | ||
|  | constructor : Object 
	 A reference to the class object or constructor function for a given object instance. | Object | |
|  | enabled : Boolean  
      Setting this value to false will stop the validator
      from performing validation. | Validator | |
| invalidCharError : String  
	  Error message when the cardNumber field contains invalid characters. | CreditCardValidator | ||
| invalidNumberError : String  
	  Error message when the credit card number is invalid. | CreditCardValidator | ||
|  | listener : Object 
      Specifies the validation listener. | Validator | |
| noNumError : String  
	  Error message when the cardNumber field is empty. | CreditCardValidator | ||
| noTypeError : String  
	  Error message when the cardType field is blank. | CreditCardValidator | ||
|  | property : String 
      A String specifying the name of the property
      of the source object that contains 
      the value to validate. | Validator | |
|  | prototype : Object [static] 
	 A reference to the prototype object of a class or function object. | Object | |
|  | 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 | |
| wrongLengthError : String 
	  Error message when the cardNumber field contains the wrong
	  number of digits for the specified credit card type. | CreditCardValidator | ||
| wrongTypeError : String  
	  Error message the cardType field contains an invalid credit card type. | CreditCardValidator | ||
| Method | Defined By | ||
|---|---|---|---|
| 
	  Constructor. | CreditCardValidator | ||
|  | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void 
	Registers an event listener object with an EventDispatcher object so that the listener 
	receives notification of an event. | EventDispatcher | |
|  | 
	Dispatches an event into the event flow. | EventDispatcher | |
|  | 
	Checks whether the EventDispatcher object has any listeners registered for a specific type 
	of event. | EventDispatcher | |
|  | 
	 Indicates whether an object has a specified property defined. | Object | |
|  | 
       Called automatically by the MXML compiler when the Validator
       is created using an MXML tag. | Validator | |
|  | 
	 Indicates whether an instance of the Object class is in the prototype chain of the object specified 
	 as the parameter. | Object | |
|  | 
	 Indicates whether the specified property exists and is enumerable. | Object | |
|  | 
	Removes a listener from the EventDispatcher object. | EventDispatcher | |
|  | 
     Sets the availability of a dynamic property for loop operations. | Object | |
|  | 
	 Returns the string representation of this object, formatted according to locale-specific conventions. | Object | |
|  | 
	 Returns the string representation of the specified object. | Object | |
|  | 
      Performs validation and optionally notifies
      the listeners of the result. | Validator | |
|  | [static] 
      Invokes all the validators in the validators Array. | Validator | |
| [static] 
	  Convenience method for calling a validator. | CreditCardValidator | ||
|  | 
	 Returns the primitive value of the specified object. | Object | |
|  | 
	Checks whether an event listener is registered with this EventDispatcher object or any of 
	its ancestors for the specified event type. | EventDispatcher | |
| Method | Defined By | ||
|---|---|---|---|
|  | 
      Sets up all of the listeners for the 
      valid and invalid
      events dispatched from the validator. | Validator | |
| [override] 
      Override of the base class doValidation() method
	  to validate a credit card number. | CreditCardValidator | ||
|  | 
      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 | |
| allowedFormatChars | property | 
allowedFormatChars:String| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
 
	  The set of formatting characters allowed in the
	  cardNumber field.
	 
	  
 The default value is " -" (space and dash).
Implementation
    public function get allowedFormatChars():String    public function set allowedFormatChars(value:String):void| cardNumberListener | property | 
cardNumberListener:IValidatorListener| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
 
	  The component that listens for the validation result
	  for the card number subfield. 
	  If none is specified, use the value specified
	  to the cardNumberSource property.
	  
	  
Implementation
    public function get cardNumberListener():IValidatorListener    public function set cardNumberListener(value:IValidatorListener):void| cardNumberProperty | property | 
public var cardNumberProperty:String| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
	  Name of the card number property to validate. 
	  This attribute is optional, but if you specify
	  the cardNumberSource property, 
	  you should also set this property.
	  
	  
| cardNumberSource | property | 
cardNumberSource:Object| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
 
	  Object that contains the value of the card number field.
	  If you specify a value for this property, you must also specify
	  a value for the cardNumberProperty property. 
	  Do not use this property if you set the source 
	  and property properties. 
	  
	  
Implementation
    public function get cardNumberSource():Object    public function set cardNumberSource(value:Object):void| cardTypeListener | property | 
cardTypeListener:IValidatorListener| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
 
	  The component that listens for the validation result
	  for the card type subfield. 
	  If none is specified, then use the value
	  specified to the cardTypeSource property.
	  
	  
Implementation
    public function get cardTypeListener():IValidatorListener    public function set cardTypeListener(value:IValidatorListener):void| cardTypeProperty | property | 
public var cardTypeProperty:String| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
	  Name of the card type property to validate. 
	  This attribute is optional, but if you specify the
	  cardTypeSource property,
	  you should also set this property.
	 
      
In MXML, valid values are:
- "American Express"
- "Diners Club"
- "Discover"
- "MasterCard"
- "Visa"
In ActionScript, you can use the following constants to set this property:
CreditCardValidatorCardType.AMERICAN_EXPRESS, 
	  CreditCardValidatorCardType.DINERS_CLUB,
	  CreditCardValidatorCardType.DISCOVER, 
	  CreditCardValidatorCardType.MASTER_CARD, and 
	  CreditCardValidatorCardType.VISA.
Related API Elements
| cardTypeSource | property | 
cardTypeSource:Object| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
 
	  Object that contains the value of the card type field.
	  If you specify a value for this property, you must also specify
	  a value for the cardTypeProperty property. 
	  Do not use this property if you set the source 
	  and property properties. 
	  
	  
Implementation
    public function get cardTypeSource():Object    public function set cardTypeSource(value:Object):void| invalidCharError | property | 
invalidCharError:String| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
 
	  Error message when the cardNumber field contains invalid characters.
	 
	  
 The default value is "Invalid characters in your credit card number. (Enter numbers only.)".
Implementation
    public function get invalidCharError():String    public function set invalidCharError(value:String):void| invalidNumberError | property | 
invalidNumberError:String| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
Error message when the credit card number is invalid.
 The default value is "The credit card number is invalid.".
Implementation
    public function get invalidNumberError():String    public function set invalidNumberError(value:String):void| noNumError | property | 
noNumError:String| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
 
	  Error message when the cardNumber field is empty.
	 
	  
 The default value is "No credit card number is specified.".
Implementation
    public function get noNumError():String    public function set noNumError(value:String):void| noTypeError | property | 
noTypeError:String| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
 
	  Error message when the cardType field is blank.
	 
	  
 The default value is "No credit card type is specified or the type is not valid.".
Implementation
    public function get noTypeError():String    public function set noTypeError(value:String):void| wrongLengthError | property | 
wrongLengthError:String| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
	  Error message when the cardNumber field contains the wrong
	  number of digits for the specified credit card type.
	 
	  
 The default value is "Your credit card number contains the wrong number of digits.".
Implementation
    public function get wrongLengthError():String    public function set wrongLengthError(value:String):void| wrongTypeError | property | 
wrongTypeError:String| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
 
	  Error message the cardType field contains an invalid credit card type. 
	  You should use the predefined constants for the cardType field:
	  CreditCardValidatorCardType.MASTER_CARD,
	  CreditCardValidatorCardType.VISA, 
	  CreditCardValidatorCardType.AMERICAN_EXPRESS,
	  CreditCardValidatorCardType.DISCOVER, or 
	  CreditCardValidatorCardType.DINERS_CLUB.
	 
	  
 The default value is "Incorrect card type is specified.".
Implementation
    public function get wrongTypeError():String    public function set wrongTypeError(value:String):void| CreditCardValidator | () | Constructor | 
public function CreditCardValidator()| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
Constructor.
| doValidation | () | method | 
override protected function doValidation(value:Object):Array| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
      Override of the base class doValidation() method
	  to validate a credit card number.
	 
	  
You do not call this method directly; Flex calls it as part of performing a validation. If you create a custom Validator class, you must implement this method.
Parameters
| value:Object— an Object to validate. | 
| Array— An Array of ValidationResult objects, with one ValidationResult 
	  object for each field examined by the validator. | 
| validateCreditCard | () | method | 
 public static function validateCreditCard(validator:CreditCardValidator, value:Object, baseField:String):Array| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
Convenience method for calling a validator. Each of the standard Flex validators has a similar convenience method.
Parameters
| validator:CreditCardValidator— The CreditCardValidator instance. | |
| value:Object— A field to validate, which must contain
	  the following fields:
 | |
| baseField:String— Text representation of the subfield
	  specified in the value parameter. 
	  For example, if thevalueparameter
	  specifies value.date, thebaseFieldvalue is "date". | 
| Array— An Array of ValidationResult objects, with one ValidationResult 
	  object for each field examined by the validator. | 
Related API Elements
<?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>
Mon Nov 28 2011, 06:48 AM -08:00
 Show MXML Syntax
Show MXML Syntax