jQuery 検証プラグインを使用してフォームを検証しています。また、addmethod
関数を使用して独自の検証メソッドを作成しています。これは、jQuery Validator をセットアップする方法です。
$(document).ready(function() {
if ($("#validation_json").length > 0) {
var validationJSON = JSON.parse(decodeURIComponent($("#validation_json").val()));
$(".form-horizontal").validate({
rules: validationJSON.rules,
messages: validationJSON.messages
});
}
});
ID が validation_json のタグを入力し、値を jQuery バリデータ プラグインの一連のルールとメッセージに設定します。これらのルールとメッセージは、フォーム ビルダーの助けを借りてサーバー側で出力されます。唯一の問題は、次のように独自の検証方法を追加するたびに発生することです。
jQuery.validator.addMethod("uniqueemail", function(email) {
return false; //just for testing
}, "This email is already in use");
addMethod
jQueryバリデーターは、フィールドを送信する前にこのメソッドを使用して、フィールドが有効かどうかを確認します(上記のルールセットに加えて)。に渡されるメッセージではありませんaddMethod
。addMethod 関数に実際に渡されたメッセージを表示する方法を知っている人はいますか? ありがとう!
アップデート:
これは、問題を示すjsFiddleリンクです。