2013-03-01 34 views
2

我在我的網站上的窗體上使用jQuery驗證器。這是正常的,但在一個錯誤每次擊鍵結果:jQuery驗證給出輸入的每個字符的錯誤

Uncaught TypeError: Object #<error> has no method 'call' 

我通過課上的每個字段執行驗證和一切工作正常 - 必填字段,電子郵件領域,數字等。這是我的驗證碼:

if(jQuery().validate) { 
     //assign to global var for manual validation 
     validator = $(".validated").validate({ 
      errorClass: "help-inline text-error", 
      errorElement: "span", 
      invalidHandler: function(e, validator) { 
       var errors = validator.numberOfInvalids(); 
       if (errors) { 
        var message = errors == 1 
          ? 'Please fix the indicated field before saving this form.' 
          : 'Please fix the errors on the indicated fields before saving this form.'; 
         $(".validation-message").text(message); 
         $(".validation-message").addClass('alert alert-error'); 
       } else { 
         $(".validation-message").removeClass('alert alert-error').text(""); 
       } 
      }, 
      onkeyup: true, 
      submitHandler: function(form) { 
       $(".validation-message").removeClass('alert alert-error').text(""); 
       form.submit(); 
      }, 
      errorPlacement: function(error, element) { 
       if(element.parent().hasClass('input-append')){ 
        error.insertAfter(element.parent()); 
       }else{ 
        error.insertAfter(element); 
       } 
      } 
     }); 
} 

任何人都可以看到什麼會觸發該錯誤,而不會影響功能?

乾杯!

+2

'onkeyup'選項是什麼導致這一點。 – 2013-03-01 16:35:34

+0

是的,這是什麼導致它在鍵盤上發生,但錯誤仍然發生..... – whiteatom 2013-03-01 16:46:22

+0

啊..是的,我看到..真實不是一個有效的值。 – whiteatom 2013-03-01 16:53:21

回答

9

onkeyup選項沒有true值。

默認情況下,在keyup事件期間啓用字段驗證。你只需要在兩種情況下

  1. 要在keyup事件禁用驗證使用這個選項,在這種情況下,設置onkeyup: false
  2. 要在keyup

你的情況,你可以刪除自定義字段驗證選項onkeyup

+0

啊..是的,謝謝。我在測試時將其設置爲false,現在我發現將它設置爲true以重新啓用它是錯誤的。 – whiteatom 2013-03-01 16:52:44

+0

+1,這次你明白了。 – Sparky 2013-03-01 16:52:53

+0

@Sparky是的,謝謝你 – 2013-03-01 16:53:16