我使用 jQuery 验证插件。
在我的情况下,验证发生在按钮单击时(尽管“onkeyup”、“onfocusout”方法已打开)。我为输入添加了一个自定义方法/规则。
问题是:
当我单击按钮时,验证仅发生在选择时,而不是输入时。在这种情况下,新规则将被忽略。但是当我在输入中输入文本时,规则正在起作用。 如何解决问题?
$(function() {
// Added new method/rule
$.validator.addMethod(
"testm",
function(value, element) {
return this.optional(element) || /^[0-9]+$/.test( value );
},
"Use a valid username."
);
$("#ftest").validate({
ignore: ".ignore, :hidden",
focusInvalid: true,
rules: {
i1:"required",
i2: {
testm: true
}
},
messages: {
i1: "error1",
}
});
// I need to check whether form is valid when I click the button
$("#btest").click(function() {
//alert('asd');
var valid = $("#ftest").valid();
if(valid)
{
alert('good');
}
else {
alert('bad');
}
});
})