From 8ba907d816e29f1b16574ec0899599a89661ae40 Mon Sep 17 00:00:00 2001 From: Iryna Lagno <ilagno@ebay.com> Date: Fri, 26 Jun 2015 16:39:17 +0300 Subject: [PATCH] MAGETWO-38647: credit card validation issue --- .../web/js/model/credit-card-validation/validator.js | 8 +++++--- .../view/frontend/web/template/payment/cc-form.html | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/code/Magento/Payment/view/frontend/web/js/model/credit-card-validation/validator.js b/app/code/Magento/Payment/view/frontend/web/js/model/credit-card-validation/validator.js index 3b21f32dc80..660f3e3c047 100644 --- a/app/code/Magento/Payment/view/frontend/web/js/model/credit-card-validation/validator.js +++ b/app/code/Magento/Payment/view/frontend/web/js/model/credit-card-validation/validator.js @@ -11,12 +11,13 @@ 'Magento_Payment/js/model/credit-card-validation/cvv-validator', 'Magento_Payment/js/model/credit-card-validation/credit-card-number-validator', 'Magento_Payment/js/model/credit-card-validation/expiration-date-validator/expiration-year-validator', - 'Magento_Payment/js/model/credit-card-validation/expiration-date-validator/expiration-month-validator' + 'Magento_Payment/js/model/credit-card-validation/expiration-date-validator/expiration-month-validator', + 'Magento_Payment/js/model/credit-card-validation/credit-card-data' ], factory); } else { factory(jQuery); } -}(function ($, cvvValidator, creditCardNumberValidator, expirationDateValidator, monthValidator) { +}(function ($, cvvValidator, creditCardNumberValidator, expirationDateValidator, monthValidator, creditCardData) { "use strict"; $.each({ @@ -49,7 +50,8 @@ * @return {boolean} */ function (cvv) { - return cvvValidator(cvv).isValid; + var maxLength = creditCardData.creditCard ? creditCardData.creditCard.code.size : 3; + return cvvValidator(cvv, maxLength).isValid; }, 'Please enter a valid credit card verification number.' ], diff --git a/app/code/Magento/Payment/view/frontend/web/template/payment/cc-form.html b/app/code/Magento/Payment/view/frontend/web/template/payment/cc-form.html index 09048a925c0..67336808c1e 100644 --- a/app/code/Magento/Payment/view/frontend/web/template/payment/cc-form.html +++ b/app/code/Magento/Payment/view/frontend/web/template/payment/cc-form.html @@ -62,7 +62,7 @@ <div class="control"> <select name="payment[cc_exp_month]" class="select select-month" - data-bind="attr: {id: getCode() + '_expiration', 'data-container': getCode() + '-cc-month', 'data-validate': JSON.stringify({required:true, 'validate-card-date':'#' + getCode() + '_expiration_yr'})}, + data-bind="attr: {id: getCode() + '_expiration', 'data-container': getCode() + '-cc-month', 'data-validate': JSON.stringify({required:true, 'validate-cc-exp':'#' + getCode() + '_expiration_yr'})}, enable: isActive($parents), options: getCcMonthsValues(), optionsValue: 'value', @@ -76,7 +76,7 @@ <div class="control"> <select name="payment[cc_exp_year]" class="select select-year" - data-bind="attr: {id: getCode() + '_expiration_yr', 'data-container': getCode() + '-cc-year', 'data-validate': JSON.stringify({required:true, 'validate-card-year':'#' + getCode() + '_expiration_yr'})}, + data-bind="attr: {id: getCode() + '_expiration_yr', 'data-container': getCode() + '-cc-year', 'data-validate': JSON.stringify({required:true})}, enable: isActive($parents), options: getCcYearsValues(), optionsValue: 'value', -- GitLab