jQuery验证给出错误的每个字符输入

jQuery Validation giving error with every character entered

本文关键字:字符输入 错误 验证 出错 jQuery      更新时间:2023-09-26

我在我的网站上使用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);
                }
             }
      });
 }

有人能看到什么会触发这个错误而不影响功能吗?

干杯!

onkeyup选项没有true

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

  1. keyup事件期间禁用验证,在这种情况下设置onkeyup: false
  2. 自定义keyup期间的字段验证

在你的情况下,你可以删除选项onkeyup