jQuery Validation Plugin:如何测试有效且仅测试有效
Posted
技术标签:
【中文标题】jQuery Validation Plugin:如何测试有效且仅测试有效【英文标题】:jQuery Validation Plugin: How to test for valid and only test for valid 【发布时间】:2010-12-26 21:09:48 【问题描述】:所以我试图找到一种方法,让 jQuery 验证插件在表单无效时简单地返回 false,而不显示错误消息或执行任何其他操作。但事实证明,这比应有的难度更大。我正在这样设置验证:
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 语句时,如果表单无效,它甚至不会到达 else。相反,它只显示错误。但是,如果表单有效,它会到达警报并弹出“成功”。当表单不通过规则时,我怎样才能从插件返回一个简单的“false”,而让它什么都不做?
谢谢。
【问题讨论】:
【参考方案1】:http://docs.jquery.com/Plugins/Validation/validate#options
据此,您可以将 invalidHandler 回调函数传递给 validate()。我不知道那是在消息显示之前还是之后,但这是值得一看的。
【讨论】:
【参考方案2】:您可以为此使用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");
【讨论】:
以上是关于jQuery Validation Plugin:如何测试有效且仅测试有效的主要内容,如果未能解决你的问题,请参考以下文章
jQuery - 学习笔记 - jQuery Validation Plugin
jQuery Validation Plugin - 简单的实现
jQuery Validation Plugin - 成功验证后无法链接函数[重复]
jQuery Validation Plugin:如何测试有效且仅测试有效
JQuery Validation Plugin - 如果用户选择任一单选按钮,则验证字段。
MVC model 验证失效 Unexpected token u in JSON at position 0jquery-plugin-validation