jQuery验证插件:如何测试有效的和唯一的测试有效
问题描述:
所以我试图找到一种方法来让jQuery验证插件只是在窗体无效时返回false,并且不显示错误消息或执行任何操作其他。但是这比事实证明要困难得多。我设置了验证这样:jQuery验证插件:如何测试有效的和唯一的测试有效
var validator = $journalForm.validate({
rules: {
EntryDate: { required: true, date: true },
EvalStatus: { required: true },
EvalState: { required: true },
ActivityType: { required: true },
Duration: { required: true },
}
});
而且我测试,看看是否形式是有效的,例如:
if ($form.valid()) {
alert("success");
}
else {
alert("fail");
}
的问题是,当它击中上面的if语句,如果表格无效,它甚至不会到达其他地方。相反,它只是显示错误。但是,如果表单有效,则会触发警报并弹出“成功”。当表单不通过规则时,我怎么才能从插件返回一个简单的“false”,并让它不做任何事情?
谢谢。
答
http://docs.jquery.com/Plugins/Validation/validate#options
根据可以传递一个invalidHandler回调函数,以验证()。我不知道这是消息出现之前还是之后,但这是需要看的。
答
可以使用showErrors
option为此,传递的是什么都不做的功能,如:
$journalForm.validate({
rules: {
EntryDate: { required: true, date: true },
EvalStatus: { required: true },
EvalState: { required: true },
ActivityType: { required: true },
Duration: { required: true },
},
showErrors: function() { }
});
这将防止错误显示,因为他们通常会,那么你可以做到这一点,以获得状态:
alert($journalForm.valid() ? "success" : "fail");