我正在尝试使用jQuery Validate框架验证表单。我们在此表单上没有提交按钮,并且需要按键/ onblur样式验证。在我最简单的例子中,我有三个表单字段,都标记为'required'。当我更改一个字段时,单击它,然后单击返回并立即删除它验证的字符,这是我期望的行为。
当我向第一个字段添加文本然后将文本添加到第二个字段时,问题就出现了。如果我尝试删除第一个字段的内容,它将无法验证。如果我删除第二个字段的内容,第二个字段将验证。几乎如果你添加文本字段,所有必需的,只有最后一个将验证。奇怪的是,当我添加一个提交按钮并单击提交,然后尝试这些测试,它完美地工作。这些例子都做同样的事情 - 我哪里出错?
Javascript代码:
$("#testForm").validate({ submitHandler: function() { } });
HTML:
<form id='testForm' class='testEditor'>
<div>
<input type='text' name='firstField' id='firstField' class='required' /><br />
<input type='text' name='secondField' id='secondField' class='required' /><br />
<input type='text' name='thirdField' id='thirdField' class='required' /><br />
<hr width="100%" />
<input type='Submit' value='Show View Model' id='unbind' />
</div>
答案 0 :(得分:2)
这应该可以胜任。
$("#testForm").validate();
$('input').blur(function(){
if(!$(this).valid()){
$(this).focus();
return false;
}
});