我正在使用jQuery插件jQuery Validation来验证表单字段。我已经编写了一些自定义规则以及使用默认规则,它们目前都运行良好。如果字段未验证,则在违规字段验证之前无法提交表单。
但是,我刚刚被要求使用自定义规则更改特定字段的验证,以便验证规则保持不变,如果字段未验证但表单中出现验证错误消息仍然可以提交。
是否存在以每个字段/规则为基础允许此类请求的本机方式?如果没有,那么在jQuery Validation的框架内添加此功能的最佳方法是什么?
答案 0 :(得分:1)
“我刚刚被要求使用自定义规则更改特定字段的验证,以便验证规则保持不变,如果字段未验证但是表单可以显示验证错误消息还是要提交。“
jQuery Validation插件的重点是根据您指定的规则阻止提交。
内置addMethod
方法通过在自定义函数返回false
时显示错误(阻止提交)来工作。要允许提交,此函数必须返回true
,但不会显示任何消息。
如果不重写插件,我看不出你要求的是什么。
否则,一个简单的解决方法是编写一个附加到一个字段的blur或click事件处理程序的单独函数,该函数在同一位置切换<label>
,因为会出现验证错误。有点像...
$('input#myField').on('blur', function() {
// your custom validation
if ( /* some arbitrary rule */ ) {
// failed your test, show message
$('label#myLabel').show();
} else {
// passed your test, hide message
$('label#myLabel').hide();
}
});
尽管如此,我建议不要这样做,因为它与普通用户期望表单行为的方式背道而驰。