jQuery验证'required' - 当丢失焦点或按键时,只有最后修改的元素在提交前验证

时间:2011-01-31 15:14:01

标签: jquery

我正在尝试使用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>

1 个答案:

答案 0 :(得分:2)

这应该可以胜任。

$("#testForm").validate();
     $('input').blur(function(){
         if(!$(this).valid()){
             $(this).focus();
             return false;
         }
     });