2016-04-05 2 views
0

私はフォームの検証ioでフォームを検証しています、それは私が背中にエラーがある場合は、クリックしてフォームを再度ロードするが、一度動作していなかったバリデーターがロードされているボタンのエラーmsgがロードされます。誰かが私を助けることができればここでそのfomvalidation ioを行う方法は、常にフォームの検証を探しています

は、私のコードの一部です:

 $.on("success.form.fv", function(e){ 
       e.preventDefault(); 
       var $form= $(e.target); 
       var modal= $form.children(".modal-body"); 
       var datos= $form.serialize(); 
       var modalClonado= modal.children(".row").clone(); 


       $.ajax({ 
        success: function(data) { 
         if ("user" in data) { 
          modal.html(error+data.user+cerrarError); 
         } 
        } 
       }); 
       $form.on("click", "button", function(){ 
        modal.html(modalClonado); 
        $form.find("#submit") 
          .removeClass("disabled") 
          .prop("disabled", false); 
       }); 
      }); 

答えて

0

あなたはDOMからあなたの元のフォームを削除して、あなたが添付バリデータを持っていない新しいものと交換する場合それに。フォームに新しい検証オブジェクトを追加して、フォームを検証し、新しいフォームを試して提出する必要があります。

なぜ、検証に合格しなかった場合は元のフォームを完全に置き換える必要がありますか?ユーザーが元の無効なフィールドを編集してフォームを再送信できるようにする方が簡単でしょうか?

編集:

あなたの検証から、あなたの結果を得れば、検証に合格しても、どこでも、必要なエラー・メッセージを追加していないときに、フォームの提出を停止するe.preventDefault()を使用することができます。これによりフォームがそのまま(ページから移動したりページを更新する必要がなくなります)、フォームに戻って無効なフィールドを編集し、同じ検証プロセスが実行されるフォームを再送信することができます再び起こる。フォームが正常に検証された場合は、フォームに.submit()を使用してフォームを送信できます。 $('#formToSubmit').submit()。この方法で、バリデータオブジェクトを元のフォームに一度追加するだけで、フォームが成功するまでフォームの送信を試みることができます。

+0

これは何をしようとしているのですか、どうすればいいですか? –

+0

は私の答えに編集を加えました。それが役に立てば幸い。 – scoots

+0

既に使用しているformvalidationプラグインは、すでにsubmitイベントを持っています(上記のコード)、clone()とhtml()を使用しています。フォーム –

関連する問題