2017-01-16 6 views
-2

jquery.validate.jsの使用。私のリセットパスワードフォームの技術的な問題が軽微です。検証メッセージがクリアされない、何が間違っている可能性があるか

検証がうまく機能します。 submitHandlerの前にルール+メッセージがあります。

すべてのメッセージは、各入力ボックスの下にある私の

<span class="help-block" id="error"></span> 

に直接行きます。したがって、私が間違って入力すると、それらのボックスの下にライブエラーメッセージが表示されます。

問題: すべてを正しく入力すると、エラーメッセージは表示されません。そして、私は成功と新しいパスワードを取得します。これはいい。

しかし、入力中に失敗したが後で修正して新しいパスワードを作成すると、上記のスパンのヘルプブロックに「古い」エラーが表示されます。すべてが成功したとしても。

だから私はこれを持って想像:

 $("#form-reset").validate(
     { 
      rules: 
      { 
       pass: { required: true} 
      }, 
      messages: 
      { pass: { required: dsaj jfaio daijo djaio} 

      }, 
      /*AND HERE THE HELP-BLOCK TO GIVE CLIENT INFO*/ 
      { 
      }, 
      /* here the submitHandler*/ 
      submitHandler: submitFormReset 
     }); 

     /* submitHandler kick off this function */ 
     function submitFormReset() 
     { 
      /* At this point I would like to turn off validation*/ 
     } 

私は上記の関数のヘルプブロック上のクラスとidを削除しようとしました。情報テキストは削除されますが、入力ボックスが赤(失敗した場合)および緑(成功した場合)になるので、まだ成功しても赤色の問題が発生します。だから私は、この時点で検証を '切る'必要があると思います。それが可能なら...

+0

*「私はこれが多くの情報ではないですけど、私はそれを説明するかどうかはわかりません...」*〜問題を再現するのに十分なコードを示すことによって、それを説明します。 '.validate()'の呼び出しと 'form'のHTMLマークアップはどこにありますか? – Sparky

+0

@ Sparkyええ私は同意するが、それはコードトンのトンです。 'submitHandler'をキックオフした後で何らかの形でバリデーションを無効にできれば(この時点で入力ボックスの検証はもう必要ありません)、実際には私の問題を解決します。検証部分は、クライアントへのライブ情報のみです。 –

+0

あなたが今までに示したことは、あなたが説明している問題とは何の関係もありません。エラーが解消されると、メッセージは消えます。あなたがそれを打破するために何かをやったことがない限り。 **問題のjsFiddleデモを作ってください**。 – Sparky

答えて

-1

私はそれを理解しました。私はここに答えを書いて、多分それは他人を助けることができる。送信ハンドラの後、私はフォームを使って処理を行います。例えば

私はこれを削除した場合、フォームはもう成功した後、奇妙なものをしない

 $('#formZ')[0].reset(); 

を使用しています。なぜこれがjqueryバリデーターに違反しているのか分かりませんが、私は上記のリセットをスキップしなければならないと思います。

ハンス

+0

あなたが元の質問にこのコードを投稿していれば、誰かがあなたのためにそれを理解したかもしれません。 – Sparky

+0

その可能性があります。しかし、これはこのブロックの250行のうち1行です。私はここに投稿すべきコードを検出して調べなければなりません。 250行は誰にも読まれることはありません。理由を理解しています。この場合、多分私は質問を投稿してはいけませんが、とにかく将来のプログラマーを助けることができるかもしれません –

関連する問題