jQuery validate plugin:默认情况下验证blur()

时间:2015-04-08 17:24:25

标签: jquery jquery-validate

好的,所以我得到jQuery Validate is opinionated关于何时(不)在blur上验证:

  

在字段被标记为无效之前,验证是懒惰的:在第一次提交表单之前,用户可以通过字段进行选项卡而不会收到恼人的消息 - 在实际有机会之前,他们不会被窃听输入正确的值

有没有办法覆盖这种行为?我希望每当失去焦点时都要验证每个字段,而不仅仅是在出现错误之后。

1 个答案:

答案 0 :(得分:14)

jQuery验证是"懒惰"默认验证。这意味着,在第一次单击提交之前,从字段移动到字段时会忽略大部分验证。

您要求"渴望"验证,因此只需使用自定义函数覆盖onfocusout默认值...

$('#yourForm').validate({
    // rules, options, etc.,
    onfocusout: function(element) {
        // "eager" validation
        this.element(element);  
    }
});

文档http://jqueryvalidation.org/validate/#onfocusout

其他参考https://stackoverflow.com/a/28114269/594235

默认onfocusout功能

onfocusout: function(element) {
    // "lazy" validation by default
    if (!this.checkable(element) && (element.name in this.submitted || !this.optional(element))) {
        this.element(element);
    }
},