jqueryvalidation:如果焦点丢失到提交按钮,如何防止模糊(聚焦)validation

我有一个文本框。 如果在文本框中输入无效值后单击提交按钮,我不希望对模糊进行validation。

如果我模糊到任何其他控件 – 那么我确实希望validation发生。

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

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

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

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

这是一个关于jsfiddle的例子 ,validation这样的代码

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

用这样的HTML

 

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

  1. 用函数覆盖onfocousout(或onkeyup等)
  2. 在该函数中,对于要validation的字段,调用元素(…)

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