2012-01-12 9 views
1

私は限られたページの不動産を提供するアプリケーションソリューションを開発中ですので、必要なフィールドごとにエラーメッセージを適用することはできません。したがって、影響を受ける必須フィールドを強調表示し、電子メールアドレス、電話番号、パスワードなどの指定フィールド用のカスタムメッセージを自分のフォームに作成するソリューションを作成しようとしています。jQuery Validate Pluginのカスタムエラー条件と一般的なエラーメッセージを追加します

私は現在、任意のヘルプやアドバイスを事前に(含まれるメッセージのために正常に動作している)の基本的なシェルで

var v = $("form").validate({ 
     rules: { 
      email: { 
       required: true, 
       email: true     
      }, 
      confirmEmail: { 
       required: true, 
       email: true, 
       equalTo: "#email" 
      } 
     }, 
     messages: { 
      email: "Please enter a valid email address", 
      confirmEmail: { 
       required: "Please enter a valid verify email address", 
       equalTo: "Both email addresses must be the same." 
      } 
     }, 
     errorContainer: errcontainer, 
     errorLabelContainer: $("ol", errcontainer), 
     wrapper: 'li', 
     onkeyup: false, 
     onblur: false 
    });  

感謝を働いています。

+0

あなたが助けて何が必要ですか?エラーのフィールドの強調表示?不要なエラーメッセージを抑止しますか? – Ryley

+0

私は実際には一般化されたメッセージを持っている間に多数の無効な値のメッセージを抑制する方法を理解する必要があり、電子メールやその他の指定フィールドのカスタムメッセージも含めています。 – designmode

答えて

1

あなたがしたいことは、showErrorsフックをvalidateプラグインに実装することです。

エラーメッセージのマップが渡され、エラーメッセージを生成したフォーム要素に関連付けられた同じメッセージの配列が渡されます。

デフォルトのハンドラ(validateプラグインでdefaultShowErrorsという名前)をコピーして、それを少し変更して気になるものだけを表示してください。

次に、あなたの検証オプションでこのような何かを持っていると思います:

showErrors: function(errorMap, errorList) { 
    for (var i = 0; this.errorList[i]; i++) { 
     var error = this.errorList[i]; 
     //this is the only real part you modify 
     if (error.element.id == 'email' || error.element.id == 'confirmEmail') { 
      this.showLabel(error.element, error.message); 
     } 
     this.settings.highlight && this.settings.highlight.call(this, error.element, this.settings.errorClass, this.settings.validClass); 
    } 
    //a whole bunch more stuff after this, from jquery.validate.js 
} 

は、ここではアクションでこのアイデアを参照してください:http://jsfiddle.net/ryleyb/D3tfu/

+0

これは素晴らしいですが、私の目的は未解決のフィールドのサマリーメッセージを提供し、指定された電子メールなどのカスタムメッセージングを提供することです。showErrorsフック内でこれを行うべきでしょうか? Iveはいくつかの選択肢を試して、まだ何かを得ることはできません。何か案は? – designmode

+0

私の最初の質問に言及するのを忘れたもう一つの事は、このフォームが合意され、含まれた領域を検証する追加の方法があることでした。このソリューションは、この[post](http://stackoverflow.com/questions/2636512/validate-subset-of-a-form-using-jquery-validate-plugin) – designmode

+0

で提供されました。うーん、 'showErrors'が適切でしょう要約メッセージを生成する場所。 – Ryley

関連する問題