jQuery 验证自定义方法无法正常工作
jQuery Validate custom method not working correctly
有人可以向我解释为什么这没有命中我的辅助函数吗?不确定是语法问题还是什么..
jQuery.validator.addMethod("expDateExistInPast", function (value) {
return customFunction(value);
}, "Expiration cannot exist in past.");
$("form[name='myForm']").validate({
rules: {
exp: {expDateExistInPast: true}
},
messages: {
exp: {
required: "message",
expDateExistInPast: "otherMsg"
}
},
submitHandler: function (form) {
form.submit();
}
})
function customFunction(value) {
alert("magic here");
}
更新 - 添加HTML
<input class="myClass" type="text" name="expiration" id="exp" maxlength="4" pattern="^(0[1-9]|1[0-2])[0-9][0-9]$" required="" placeholder="MMYY" aria-required="true" aria-invalid="true">
您的 input
包含 name="expiration"
...
<input class="myClass" type="text" name="expiration" id="exp" maxlength="4" pattern="^(0[1-9]|1[0-2])[0-9][0-9]$" required="" placeholder="MMYY" aria-required="true" aria-invalid="true">
但是,问题是您的 .validate()
方法在 rules
对象中使用 exp
...
rules: {
exp: {
expDateExistInPast: true
}
},
您必须只在此处使用name
属性...
rules: {
expiration: { // <- this is the NAME of the input
expDateExistInPast: true
}
},
有人可以向我解释为什么这没有命中我的辅助函数吗?不确定是语法问题还是什么..
jQuery.validator.addMethod("expDateExistInPast", function (value) {
return customFunction(value);
}, "Expiration cannot exist in past.");
$("form[name='myForm']").validate({
rules: {
exp: {expDateExistInPast: true}
},
messages: {
exp: {
required: "message",
expDateExistInPast: "otherMsg"
}
},
submitHandler: function (form) {
form.submit();
}
})
function customFunction(value) {
alert("magic here");
}
更新 - 添加HTML
<input class="myClass" type="text" name="expiration" id="exp" maxlength="4" pattern="^(0[1-9]|1[0-2])[0-9][0-9]$" required="" placeholder="MMYY" aria-required="true" aria-invalid="true">
您的 input
包含 name="expiration"
...
<input class="myClass" type="text" name="expiration" id="exp" maxlength="4" pattern="^(0[1-9]|1[0-2])[0-9][0-9]$" required="" placeholder="MMYY" aria-required="true" aria-invalid="true">
但是,问题是您的 .validate()
方法在 rules
对象中使用 exp
...
rules: {
exp: {
expDateExistInPast: true
}
},
您必须只在此处使用name
属性...
rules: {
expiration: { // <- this is the NAME of the input
expDateExistInPast: true
}
},