別の回答が受け入れられた後、将来の読者のためにこれを投稿します。他の回答にはそれぞれ技術的なエラーが含まれており、説明が不足しているようです。
事前定義されたオプションをペア.validate()
の形式でしか受け入れない場合、JavaScript を単純に に挿入することはできません。key:value
利用可能なすべてのオプションについては、http: //docs.jquery.com/Plugins/Validation/validate#toptionsのドキュメントを参照してください。
ご覧のとおり、使用可能なハンドラーalert("Empty Fields!!");
の1 つに割り当てる必要があります。メッセージはであるため、コールバック オプションを選択します。 ドキュメントによると、 「無効なフォームが送信されたときのカスタム コードのコールバック」です。function
callback
Empty Fields!!
invalidHandler
invalidHandler
逆に、submitHandler:
「フォームが有効な場合に実際の送信を処理するためのコールバック」です。~ メッセージには が含まれてEmpty Fields!!
いるため、有効なフォームに表示したくないでしょう。
プラグインの初期化時に HTML フォームが完全に構築されるように.validate()
、関数内にyour を囲むこともお勧めします。document.ready
動作デモ: http://jsfiddle.net/QYCwH/
$(document).ready(function() {
var validator = $("#reg_form").validate({
errorLabelContainer: $("#reg_form div.error"),
meta: "validate",
invalidHandler: function(form, validator) {
alert("Empty Fields!!");
}
});
});
注意:.validate()
この場合、という変数に 代入しても何の役にも立ちませんvalidator
。pluginを初期化する準備ができている DOM で一度.validate()
だけ呼び出す必要があるため、再度参照する必要はないため、変数に割り当てる利点はありません。
フォームの検証テストをトリガーする必要がある場合、またはフォームの現在のステータスのブール値が必要な場合は、.valid()
メソッドを使用してください。
$("#reg_form").valid(); // triggers a validation check without having to submit
また
if ($("#reg_form").valid()) { ... // tests to see if the form is valid