すべての検証メッセージは要約に含まれている必要があるというルールがあり、メッセージは要約でコンテキストを失い、特定のフィールド インジケーターが必要になるため、デフォルトの「このフィールドは必須」ではうまくいきません。
私はかなり気に入っているソリューションを持っていますが、必要なフィールド (電子メール、URL、phoneUS などのカスタム メソッド) 以外のメッセージが必要であることがすぐに明らかになったので、関数にいくつか追加しました。
私はしばらく jQuery を使用してきましたが、最適化分野の専門家ではないので、以下の関数を最適化できるかどうかについて専門家の助けを借りたいと思っていました...私の質問は、「実際に要約でカスタム エラー メッセージを処理するより良い方法はありますか?」
$('.required, .email').each(function(index) {
var $this = $(this);
var label = (
$this.is(':radio')
? $("label[data-name='"+$this.attr('name')+"']")
: label = $("label[for='"+$this.attr('id')+"']")
);
var customMessages = [{}];
if($this.hasClass('required')){
customMessages.required = "'" + label.text() + "' is required.";
}
if($this.hasClass('email')){
customMessages.email = "'" + label.text() + "' has an invalid email address.";
}
$this.rules("add", {
messages: customMessages
});
});
これが jsFiddle です: http://jsfiddle.net/GD5nw/1/