Пользовательский валидатор петрушки не отвечает при первом клике
Я пытаюсь сделать проверку проверки 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 ответ
Вызов window.Parsley.addValidator
один раз, во время инициализации.
Кстати, есть lunh
валидатор уже закодирован для вас