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

aco*_*ter 5 jquery jquery-validate

好吧,所以我得到jQuery Validate对于(不)验证时的观点blur:

在字段被标记为无效之前,验证是懒惰的:在第一次提交表单之前,用户可以在不显示烦人消息的情况下对字段进行制表 - 在有机会实际输入正确值之前,它们不会被窃听

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

Spa*_*rky 16

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

您正在请求"Eager"验证,因此只需onfocusout使用自定义函数覆盖默认值...

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

文档: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);
    }
},
Run Code Online (Sandbox Code Playgroud)

  • 哇哦 很简单!实际上,我只是深入研究代码并找出了确切的解决方案...因此,我将发布自己的相同答案并接受它。 (2认同)
  • 只是在开玩笑。为你接受! (2认同)