Пользовательский валидатор петрушки не отвечает при первом клике - PullRequest
0 голосов
/ 19 сентября 2018

Я пытаюсь выполнить проверку lhhn для поля, которое должно проверяться после метода parsley.validate ().

Пожалуйста, найдите мой код ниже,

<input type="text" maxlength="19" data-parsley-required="true" data-parsley-length="[13,19]" data-parsley-type="digits" data-parsley-required-message="Enter Credit card number" data-parsley-type-message="Incorrect card number" data-parsley-minlength-message="Incorrect card number" data-parsley-maxlength-message="Incorrect card number" id="creditCardNumber" name="CardNumber" data-parsley-luhn="true" required>

if($("#form").parsley().validate()){ //add the card validator: window.Parsley.addValidator('luhn',{ validateNumber: function (value) { val = value.replace(/[ -]/g, ''); var digit, n, sum, _j, _len1, _ref2; sum = 0; _ref2 = val.split('').reverse(); for (n = _j = 0, _len1 = _ref2.length; _j < _len1; n = ++_j) { digit = _ref2[n]; digit = +digit; if (n % 2) { digit *= 2; if (digit < 10) { sum += digit; } else { sum += digit - 9; } } else { sum += digit; } } if(sum % 10 === 0){ return true; }else{ return false; } } }); }

Проверка работает только при втором нажатии кнопки «Отправить».Любая помощь будет оценена.

Спасибо

1 Ответ

0 голосов
/ 19 сентября 2018

Вызовите window.Parsley.addValidator один раз, во время инициализации.

Кстати, для вас уже закодирован lunh валидатор

...