我正在使用 jQuery 验证插件来验证表单。您知道如何强制重新验证吗以前成功过 fields?
我已使用以下检查尝试了 .form 函数(这是在用户单击“提交”后执行的):
if ($('#form1').validate().form()==false)
{
formValid = false;
}
但是,上面的代码似乎不会重试验证,因此不会再次检查已成功验证的字段(即旁边有勾号)。
想要对以前成功的字段重试重新验证的原因是它们依赖于远程验证,并且结果(成功或失败)可能会在用户离开字段和单击提交之间发生变化。 (这适用于“用户名”字段)。
如果它影响答案,我有多个表单需要验证(为简单起见,在上面的代码片段中我仅引用“#form1”)。
预先感谢您的任何建议,
Rob
远程字段的验证状态通过存储$.data() http://api.jquery.com/jQuery.data/与你想要验证的元素,所以你可以使用.removeData() http://api.jquery.com/removeData/为了清除它......所以它被迫重新验证:
$("#form1 :input").removeData("previousValue");
//now call .valid()
这会强制检查值是否已更改(我们需要重新验证)true
:
//This code is in the validation plugin for remote:
var previous = this.previousValue(element);
if (previous.old !== value) { //this is normally false, since it hasn't changed
如果只有特定字段需要重新验证,就像您所说的用户名一样,您可能需要缩小范围$("#form1 :input")
选择器仅选择您想要的字段,以提高效率。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)