From f24532a04e38055cb248af8a52567a4420252a46 Mon Sep 17 00:00:00 2001 From: Christian Flothmann Date: Sat, 27 Jun 2015 23:20:18 +0200 Subject: [PATCH] fix validation for Maestro UK card numbers --- .../Component/Validator/Constraints/CardSchemeValidator.php | 3 ++- .../Validator/Tests/Constraints/CardSchemeValidatorTest.php | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Component/Validator/Constraints/CardSchemeValidator.php b/src/Symfony/Component/Validator/Constraints/CardSchemeValidator.php index dccddee06a..f25b8cb47f 100644 --- a/src/Symfony/Component/Validator/Constraints/CardSchemeValidator.php +++ b/src/Symfony/Component/Validator/Constraints/CardSchemeValidator.php @@ -67,7 +67,8 @@ class CardSchemeValidator extends ConstraintValidator 'MAESTRO' => array( '/^(6759[0-9]{2})[0-9]{6,13}$/', '/^(50[0-9]{4})[0-9]{6,13}$/', - '/^([56-69][0-9]{4})[0-9]{6,13}$/', + '/^5[6-9][0-9]{10,17}$/', + '/^6[0-9]{11,18}$/', ), // All MasterCard numbers start with the numbers 51 through 55. All have 16 digits. 'MASTERCARD' => array( diff --git a/src/Symfony/Component/Validator/Tests/Constraints/CardSchemeValidatorTest.php b/src/Symfony/Component/Validator/Tests/Constraints/CardSchemeValidatorTest.php index 9a786cb6ac..11418ac707 100644 --- a/src/Symfony/Component/Validator/Tests/Constraints/CardSchemeValidatorTest.php +++ b/src/Symfony/Component/Validator/Tests/Constraints/CardSchemeValidatorTest.php @@ -90,8 +90,10 @@ class CardSchemeValidatorTest extends AbstractConstraintValidatorTest array('LASER', '6771656738314582216'), array('MAESTRO', '6759744069209'), array('MAESTRO', '5020507657408074712'), + array('MAESTRO', '5612559223580173965'), array('MAESTRO', '6759744069209'), array('MAESTRO', '6759744069209'), + array('MAESTRO', '6594371785970435599'), array('MASTERCARD', '5555555555554444'), array('MASTERCARD', '5105105105105100'), array('VISA', '4111111111111111'),