org.apache.wicket.validation.validator
Class CreditCardValidator

java.lang.Object
  extended by org.apache.wicket.validation.validator.AbstractValidator<String>
      extended by org.apache.wicket.validation.validator.CreditCardValidator
All Implemented Interfaces:
Serializable, IClusterable, INullAcceptingValidator<String>, IValidator<String>

public class CreditCardValidator
extends AbstractValidator<String>

Checks if a credit card number is valid. The number will be checked for "American Express", "China UnionPay", "Diners Club Carte Blanche", "Diners Club International", "Diners Club US & Canada", "Discover Card", "JCB", "Laser", "Maestro", "MasterCard", "Solo", "Switch", "Visa" and "Visa Electron". If none of those apply to the credit card number, the credit card number is considered invalid.

Card prefixes and lengths have been taken from Wikipedia.

Since:
1.2.6
Author:
Johan Compagner, Joachim F. Rohde
See Also:
Serialized Form

Field Summary
static int AMERICAN_EXPRESS
           
static int CHINA_UNIONPAY
           
static int DINERS_CLUB_CARTE_BLANCHE
           
static int DINERS_CLUB_INTERNATIONAL
           
static int DINERS_CLUB_US_AND_CANADA
           
static int DISCOVER_CARD
           
static int INVALID
           
static int JCB
           
static int LASER
           
static int MAESTRO
           
static int MASTERCARD
           
static int SOLO
           
static int SWITCH
           
static int VISA
           
static int VISA_ELECTRON
           
 
Constructor Summary
CreditCardValidator()
           
 
Method Summary
protected  boolean isUnknown(String creditCardNumber)
          Can be used (subclassed) to extend the test with a credit card not yet known by the validator.
protected  void onValidate(IValidatable<String> validatable)
          Validates the IValidatable instance.
 
Methods inherited from class org.apache.wicket.validation.validator.AbstractValidator
error, error, error, error, messageModel, resourceKey, resourceKey, validate, validate, validateOnNullValue, variablesMap
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INVALID

public static final int INVALID
See Also:
Constant Field Values

AMERICAN_EXPRESS

public static final int AMERICAN_EXPRESS
See Also:
Constant Field Values

CHINA_UNIONPAY

public static final int CHINA_UNIONPAY
See Also:
Constant Field Values

DINERS_CLUB_CARTE_BLANCHE

public static final int DINERS_CLUB_CARTE_BLANCHE
See Also:
Constant Field Values

DINERS_CLUB_INTERNATIONAL

public static final int DINERS_CLUB_INTERNATIONAL
See Also:
Constant Field Values

DINERS_CLUB_US_AND_CANADA

public static final int DINERS_CLUB_US_AND_CANADA
See Also:
Constant Field Values

DISCOVER_CARD

public static final int DISCOVER_CARD
See Also:
Constant Field Values

JCB

public static final int JCB
See Also:
Constant Field Values

LASER

public static final int LASER
See Also:
Constant Field Values

MAESTRO

public static final int MAESTRO
See Also:
Constant Field Values

MASTERCARD

public static final int MASTERCARD
See Also:
Constant Field Values

SOLO

public static final int SOLO
See Also:
Constant Field Values

SWITCH

public static final int SWITCH
See Also:
Constant Field Values

VISA

public static final int VISA
See Also:
Constant Field Values

VISA_ELECTRON

public static final int VISA_ELECTRON
See Also:
Constant Field Values
Constructor Detail

CreditCardValidator

public CreditCardValidator()
Method Detail

onValidate

protected void onValidate(IValidatable<String> validatable)
Description copied from class: AbstractValidator
Validates the IValidatable instance.

Specified by:
onValidate in class AbstractValidator<String>
Parameters:
validatable - the given IValidatable instance
See Also:
AbstractValidator.onValidate(IValidatable)

isUnknown

protected boolean isUnknown(String creditCardNumber)
Can be used (subclassed) to extend the test with a credit card not yet known by the validator.

Parameters:
creditCardNumber - the credit card number as a string
Returns:
TRUE if the credit card number seems to be a valid American Express number. Else FALSE will be returned


Copyright © 2004-2011 Apache Software Foundation. All Rights Reserved.