jquery验证:如果焦点丢失到提交按钮,如何防止模糊(焦点)验证

时间:2013-06-13 14:28:50

标签: jquery jquery-validate

我有一个文本框。

,如果在文本框中输入无效值后,我不希望对模糊进行验证。

如果我模糊到任何其他控件 - 那么我希望验证发生。

Windows [桌面]表单允许为此精确情况将控件指定为“no-causing-validation”。

是否可以在jquery validate中将控件指定为“no-cause-validation”?

1 个答案:

答案 0 :(得分:4)

是的,这是可能的,但你必须用代码而不是声明的方式来做。

要做到这一点,你必须覆盖事件的'on'处理程序 - 在这种情况下模糊(focusout)

here is an example on jsfiddle,验证此类代码

$("form").validate({
    onfocusout: function (element, event) {
        if (element.id === "fname") {
            this.element(element);
        }
    }
});

使用像这样的HTML

<form>
    <label for="fname">First Name</label>
    <input name="fname" id="fname" class="required number">
    <label for="sname">Last Name</label>
    <input name="sname" id="sname" class="required number">
    <input type="submit" />
</form>

这是验证模糊的一个字段而不是另一个字段的基本示例。您可以通过检查要验证的字段的属性来进一步了解,但一般方法是

  1. 使用函数
  2. 覆盖onfocousout(或onkeyup等)
  3. 在该函数中,对于要验证的字段,请调用元素(...)
  4. 在此讨论 - https://github.com/jzaefferer/jquery-validation/issues/564