2016-09-13 2 views
0

私のフォームの検証にjquery validateプラグインを使用しています。バージョン:jQuery検証プラグインv1.15.0。これは私が試した方法です:jquery validation:1つのコントロールだけにエラーメッセージを表示します。

$("#myform").validate(
      { 
       errorplacement: function(error, element) { }, 
       rules: 
       { 
        customername: "required", 
        mobileno:"required", 
        emailid:{ 
         required: true, 
         email: true 
        }, 
        phoneno:"required", 
        projectsponsor:"required", 
        status:"required", 
        loginid:"required", 
        password:"required", 
        confirmpassword:{ 
         required:true, 
         equalTo: '#password' 
        } 
       }, 
       messages: 
       { 
        confirmpassword:{ 
         equalTo: 'The two passwords do not match!' 
        } 
       } 
      }); 

これを使用すると、私はすべてのコントロールが必要であると言いました。しかし、confirmpasswordだけのエラーメッセージを表示したい。しかし、デフォルトのエラーメッセージ "このフィールドは必須です"が他のすべてのコントロールに表示されます。

私の要件は、他のすべてのフィールドが必要な場合のみ、confirmpasswordコントロールのエラーメッセージを表示する方法です。どうやってやるの?

答えて

0
  1. 同じパスワードを確認するときには、あなたのロジックを構築することができます機能に依存メッセージをルール名の代わりにフィールド名に追加します。この方法では、このフィールドのすべてのエラーに対して同じメッセージが表示されます。

    messages: { 
        confirmpassword: 'The two passwords do not match!' 
    } 
    
  2. それはerrorPlacement、ないerrorplacementつづられます。

  3. errorPlacementは空白のままにしないでください。代わりにreturn falseを入れてください。この機能は無効になっています。ただし、デフォルトのメッセージを無効にするには、errorPlacementは必要ありません。下の#4を参照してください。

  4. errorPlacementの代わりにshowErrorsを使用してください。 showErrorsでは、各メッセージを個別に制御することができ、この機能はデフォルトのエラーメッセージを自動的に抑制します。 errorMap引数には、すべてのフィールド名とエラーメッセージがキーと値のペアとして格納されます。 errorMap.confirmpasswordconfirmpasswordメッセージを選んでください。

    showErrors: function(errorMap, errorList) { 
        var message = (errorMap.confirmpassword) ? errorMap.confirmpassword : ''; 
        $("#message").html(message); 
    }, 
    

DEMO:jsfiddle.net/Ljs96zcq/

0

グループごとにエラーメッセージを検証して表示するコントロールを作成する必要があります。 また、以下のように任意のフィールドに依存して使用することができます。

それがエラーを割り当て、messagesオブジェクトで

function isPasswordPresent() { 
    return $('#password').val().length > 0; 
} 

confirmpassword: { 
     required: true,    
     equalTo: { 
      depends: isPasswordPresent, 
      param: "#password" 
     } 
    }, 
関連する問題