欧芹自定义验证程序在第一次单击时不响应

时间:2018-09-19 12:22:01

标签: javascript parsley.js parsley

我正在尝试对应该在parsley.validate()方法之后进行验证的字段进行luhn检查验证。

请找到我下面的代码,

<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 :(得分:0)

在初始化时间致电window.Parsley.addValidator一次。

顺便说一句,有一个lunh validator already coded for you