2011-01-31 54 views
0

我試圖驗證表單使用jQuery驗證框架。我們在這個表單上沒有提交按鈕,並且需要keypress/onblur樣式驗證。在我最簡單的例子中,我有三個表單域,全部標記爲「必需」。當我更改一個字段時,單擊它,然後再單擊並刪除它立即驗證的字符,這是我期望的行爲。jQuery驗證'必需' - 當失去焦點或按下鍵只有最後修改元素驗證之前提交

當我向第一個字段添加文本,然後將文本添加到第二個字段時,問題就出現了。如果我嘗試刪除第一個字段的內容,它將不會生效。如果我刪除了第二個字段的內容,則會驗證第二個字段。如果您添加文本字段,所有必需的,只有最後一個將驗證。奇怪的是,當我添加一個提交按鈕並單擊提交時,然後嘗試這些測試,它可以完美地工作。這些例子都做同樣的事情 - 我哪裏錯了?

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> 

回答

2

這應該做的工作。

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