2

サイトのフォームで 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);
                }
             }
      });
 }

機能に影響を与えずにそのエラーをトリガーするものを誰でも見ることができますか?

乾杯!

4

1 に答える 1

9

オプションのtrue値はありません。onkeyup

デフォルトでは、フィールド検証はkeyupイベント中に有効になっています。このオプションは、2 つのシナリオでのみ使用する必要があります

  1. イベント中の検証を無効にするにkeyupは、その場合に設定しますonkeyup: false
  2. 実行中にフィールド検証をカスタマイズするにはkeyup

あなたの場合、オプションを削除するだけですonkeyup

于 2013-03-01T16:48:54.743 に答える