Пользовательский валидатор петрушки не отвечает при первом клике

Я пытаюсь сделать проверку проверки 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 валидатор уже закодирован для вас

Другие вопросы по тегам