如何通过jQuery验证指定允许和禁止表单提交的规则?

时间:2013-09-20 10:24:18

标签: jquery forms validation jquery-validate

我正在使用jQuery插件jQuery Validation来验证表单字段。我已经编写了一些自定义规则以及使用默认规则,它们目前都运行良好。如果字段未验证,则在违规字段验证之前无法提交表单。

但是,我刚刚被要求使用自定义规则更改特定字段的验证,以便验证规则保持不变,如果字段未验证但表单中出现验证错误消息仍然可以提交。

是否存在以每个字段/规则为基础允许此类请求的本机方式?如果没有,那么在jQuery Validation的框架内添加此功能的最佳方法是什么?

1 个答案:

答案 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();
    }
});

尽管如此,我建议不要这样做,因为它与普通用户期望表单行为的方式背道而驰。