我有一个文本框。我不希望在文本框中输入无效值后单击提交按钮时发生模糊验证。
如果我模糊到任何其他控件,那么我确实希望验证发生。
Windows [desktop]窗体允许指定一个控件为" no-causing-validation
"。
是否有可能在jquery验证中指定一个控件为"no-cause-validation
"?
是的,这是可能的,但你必须在代码中完成,而不是以声明的方式。
要做到这一点,你必须覆盖事件的'on'处理程序-在这种情况下blur (focusout)
下面是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>
这是一个基本的例子,在blur上验证一个字段,而不是另一个字段。您可以进一步检查想要验证的字段上的属性,但是一般的方法是
- 用函数 覆盖onfocusout(或onkeyup等)
- 在该函数中,对于您想要验证的字段,调用element(…)
在这里讨论这个- https://github.com/jzaefferer/jquery-validation/issues/564