Magento2: Проверка кредитной карты в пользовательской форме не работает
Я пытаюсь добавить подтверждения кредитной карты в пользовательскую форму оплаты
<form id="testForm" data-mage-init='{"validation":{}}'>
First name:<br>
<input type="text" name="firstname" class="required-entry" >
<br>
credit card:<br>
<input type="text" name="creditcard" class="required-entry validate-cc-number">
CCV:<br>
<input type="text" name="cvv" class="required-entry validate-cc-cvn">
<br><br>
<input type="submit" value="Submit">
</form>
Я также добавил для него зависимость
require([
'jquery',
'jquery.bootstrap',
'payment',
'mage/validation'
], function ($, bootstrap, payment, validation) { }
Validate-cc-номер работает не так, как ожидалось, когда ввод пуст, выдает ошибку
Пожалуйста, введите действительный номер кредитной карты
Но даже если я введу "тестовую карту" в качестве входных данных, она подтвердит и не покажет ошибки, для cvv она даже не выдает сообщение об ошибке
Чего мне не хватает ?
2
Author: Vishwas Bhatnagar, 2018-09-11
1 answers
Для работы проверки кредитной карты вам необходимо ввести значение в качестве типа карты
<input type="hidden" value="" id="cc_type"> //value can VI,MC,AI,DN as per card entered
<input id="ccno" name="ccno" class="form-text form-control ccno validate-cc-number"
data-validate="{
'required-number':true,
'validate-cc-number':'#cc_type',
'validate-cc-type':'#cc_type'
}"
>
</div>
То же самое требуется для CVV
<input name="cccvv" id="cccvv" class="form-text form-control cccvv "
data-validate="{
'required-number':true,
'validate-cc-cvn':'#cc_type'
}">
</div>
И для проверки даты истечения срока действия
<select name="cc_exp_month" id="cc_exp_month" class="cc_exp_month"
data-validate="{
'required':true,
'validate-cc-exp':'#cc_exp_yr'
}"
> //put year select as required and in month vlidation put year select id .Magento expects in format of YYYY
<select name="cc_exp_yr" id="cc_exp_yr" class="form-select form-control cc_exp_yr" data-validate="{required:true}">
3
Author: Vishwas Bhatnagar, 2018-09-18 04:21:46