5

我有一个文本框。如果在文本框中输入无效值后单击提交按钮,我不希望发生模糊验证。

如果我模糊到任何其他控件 - 那么我确实希望进行验证。

no-causing-validation对于这种精确情况,Windows [桌面] 窗体允许将控件指定为“ ”。

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

4

1 回答 1

4

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

为此,您必须覆盖事件的“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. 用函数覆盖 onfocousout(或 onkeyup 等)
  2. 在该函数中,对于要验证的字段,请调用 element(...)

在这里讨论这个 - https://github.com/jzaefferer/jquery-validation/issues/564

于 2013-06-13T20:16:42.763 回答