我正在尝试对应该在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;
}
}
});
}
仅当我第二次单击提交按钮时,验证才有效。任何帮助将不胜感激。
谢谢
答案 0 :(得分:0)
在初始化时间致电window.Parsley.addValidator
一次。
顺便说一句,有一个lunh
validator already coded for you