jQuery Validation为输入的每个字符提供错误

时间:2013-03-01 16:33:24

标签: javascript jquery jquery-validate

我在我的网站上的表单上使用jQuery Validator。它运行正常,但每次击键都会导致错误:

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);
                }
             }
      });
 }

任何人都可以在不影响功能的情况下看到会触发该错误的内容吗?

干杯!

1 个答案:

答案 0 :(得分:9)

true选项没有onkeyup值。

默认情况下,在keyup事件期间启用字段验证。您只需要在两种情况下使用此选项

  1. 要在keyup事件期间停用验证,请设置onkeyup: false
  2. keyup
  3. 期间自定义字段验证

    在您的情况下,您只需删除选项onkeyup