尝试添加一个customer jQuery validator方法,该方法主要检查卡类型和信用卡号的有效性。
即类型为MasterCard,卡号不是5开头的无效,类型为Visa,卡号不是4开头的无效,我公司只收MC或Visa,不需要其他。
$.validator.addMethod("CCNumber", function(value, element, param) {
if (param == "MasterCard") {
return value.substring(0,1) != 5;
}
else if (param == "Visa") {
return value.substring(0,1) != 4;
}
});
在这里调用它:
cardnumber: {
required: true,
creditcard: true,
minlength: 13,
maxlength: 16,
digits: true,
CCNumber: function(){ return $('#cardtype').val(); }
},
而这条信息...
cardnumber: {
required: "Please enter a valid credit card number",
minlength: "Please enter a valid credit card number",
maxlength: "Please enter a valid credit card number",
digits: "Your credit card number cannot contain spaces.",
CCNumber: "WRONG"
},
最后,HTML:
<select name="cardtype" id="cardtype">
<option value="MasterCard">MasterCard</option>
<option value="Visa">Visa</option>
</select>
我以前从未写过jQuery方法,但这里什么都没有发生。我不完全确定我做错了什么,因为我试着查看其他方法,但什么都找不到。
3条答案
按热度按时间kkbh8khc1#
jQuery Validation plugin已经有了其他方法来处理类似的事情。
以下是"Additional Methods" file中使用的默认方法,但随后仅针对Visa和Mastercard进行了编辑。
aor9mmx12#
第一个
e4yzc0pl3#
sub()不是一个javascript函数。您要查找的函数是substring()。不过,更简单的方法是charAt(0),因为您只需要第一个字符。