You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2010/09/25 19:36:17 UTC
svn commit: r1001282 -
/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/validation/validator/CreditCardValidator.java
Author: mgrigorov
Date: Sat Sep 25 17:36:17 2010
New Revision: 1001282
URL: http://svn.apache.org/viewvc?rev=1001282&view=rev
Log:
WICKET-3074 CreditCardValidator throws NumberFormatException on non-numeric characters.
merge r1001280
Fix a typo.
No functional changes
r1001281
Mark the validation as failed if the passed credit card number has non digit characters
Modified:
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/validation/validator/CreditCardValidator.java
Modified: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/validation/validator/CreditCardValidator.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/validation/validator/CreditCardValidator.java?rev=1001282&r1=1001281&r2=1001282&view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/validation/validator/CreditCardValidator.java (original)
+++ wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/validation/validator/CreditCardValidator.java Sat Sep 25 17:36:17 2010
@@ -72,7 +72,14 @@ public class CreditCardValidator extends
protected void onValidate(IValidatable<String> validatable)
{
creditCardNumber = validatable.getValue();
- if (!isLengthAndPrefixCorrect(creditCardNumber))
+ try
+ {
+ if (!isLengthAndPrefixCorrect(creditCardNumber))
+ {
+ error(validatable);
+ }
+ }
+ catch (final NumberFormatException _)
{
error(validatable);
}
@@ -181,7 +188,7 @@ public class CreditCardValidator extends
/**
* Check if the credit card is an American Express. An American Express number has to start with
* 34 or 37 and has to have a length of 15. The number has to be validated with the Luhn
- * alorithm.
+ * algorithm.
*
* @param creditCardNumber
* the credit card number as a string
@@ -239,7 +246,7 @@ public class CreditCardValidator extends
/**
* Check if the credit card is a Diners Club Carte Blanche. A Diners Club Carte Blanche number
* has to start with a number between 300 and 305 and has to have a length of 14. The number has
- * to be validated with the Luhn alorithm.
+ * to be validated with the Luhn algorithm.
*
* @param creditCardNumber
* the credit card number as a string
@@ -267,7 +274,7 @@ public class CreditCardValidator extends
/**
* Check if the credit card is a Diners Club International. A Diners Club International number
* has to start with the number 36 and has to have a length of 14. The number has to be
- * validated with the Luhn alorithm.
+ * validated with the Luhn algorithm.
*
* @param creditCardNumber
* the credit card number as a string
@@ -292,7 +299,7 @@ public class CreditCardValidator extends
/**
* Check if the credit card is a Diners Club US & Canada. A Diners Club US & Canada number has
* to start with the number 54 or 55 and has to have a length of 16. The number has to be
- * validated with the Luhn alorithm.
+ * validated with the Luhn algorithm.
*
* @param creditCardNumber
* the credit card number as a string
@@ -318,7 +325,7 @@ public class CreditCardValidator extends
/**
* Check if the credit card is a Discover Card. A Discover Card number has to start with 6011,
* 622126-622925, 644-649 or 65 and has to have a length of 16. The number has to be validated
- * with the Luhn alorithm.
+ * with the Luhn algorithm.
*
* @param creditCardNumber
* the credit card number as a string
@@ -349,7 +356,7 @@ public class CreditCardValidator extends
/**
* Check if the credit card is a JCB. A JCB number has to start with a number between 3528 and
- * 3589 and has to have a length of 16. The number has to be validated with the Luhn alorithm.
+ * 3589 and has to have a length of 16. The number has to be validated with the Luhn algorithm.
*
* @param creditCardNumber
* the credit card number as a string
@@ -377,7 +384,7 @@ public class CreditCardValidator extends
/**
* Check if the credit card is a Laser. A Laser number has to start with 6304, 6706, 6771 or
* 6709 and has to have a length between 16 and 19 digits. The number has to be validated with
- * the Luhn alorithm.
+ * the Luhn algorithm.
*
* @param creditCardNumber
* the credit card number as a string
@@ -406,7 +413,7 @@ public class CreditCardValidator extends
/**
* Check if the credit card is a Maestro. A Maestro number has to start with
* 5018,5020,5038,6304,6759,6761 or 6763 and has to have a length between 12 and 19 digits. The
- * number has to be validated with the Luhn alorithm.
+ * number has to be validated with the Luhn algorithm.
*
* @param creditCardNumber
* the credit card number as a string
@@ -436,7 +443,7 @@ public class CreditCardValidator extends
/**
* Check if the credit card is a Solo. A Solo number has to start with 6334 or 6767 and has to
- * have a length of 16, 18 or 19 digits. The number has to be validated with the Luhn alorithm.
+ * have a length of 16, 18 or 19 digits. The number has to be validated with the Luhn algorithm.
*
* @param creditCardNumber
* the credit card number as a string
@@ -464,7 +471,7 @@ public class CreditCardValidator extends
/**
* Check if the credit card is a Switch. A Switch number has to start with
* 4903,4905,4911,4936,564182,633110,6333 or 6759 and has to have a length of 16, 18 or 19
- * digits. The number has to be validated with the Luhn alorithm.
+ * digits. The number has to be validated with the Luhn algorithm.
*
* @param creditCardNumber
* the credit card number as a string
@@ -494,7 +501,7 @@ public class CreditCardValidator extends
/**
* Check if the credit card is a Visa. A Visa number has to start with a 4 and has to have a
- * length of 13 or 16 digits. The number has to be validated with the Luhn alorithm.
+ * length of 13 or 16 digits. The number has to be validated with the Luhn algorithm.
*
* @param creditCardNumber
* the credit card number as a string
@@ -521,7 +528,7 @@ public class CreditCardValidator extends
/**
* Check if the credit card is a Visa Electron. A Visa Electron number has to start with
* 417500,4917,4913,4508 or 4844 and has to have a length of 16 digits. The number has to be
- * validated with the Luhn alorithm.
+ * validated with the Luhn algorithm.
*
* @param creditCardNumber
* the credit card number as a string
@@ -547,7 +554,7 @@ public class CreditCardValidator extends
/**
* Check if the credit card is a Mastercard. A Mastercard number has to start with a number
* between 51 and 55 and has to have a length of 16. The number has to be validated with the
- * Luhn alorithm.
+ * Luhn algorithm.
*
* @param creditCardNumber
* the credit card number as a string