2013-03-01 65 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