-1

こんにちは、送信ボタンが押されたときに空のフィールドを示すアラートまたはスタイル可能なポップアップ ボックスを表示しようとしています。追加した後、以下のコードが機能しなくなりましたalert("Empty Fields!!");

var validator = $("#reg_form").validate({
    errorLabelContainer: $("#reg_form div.error"),
    meta: "validate",
    alert("Empty Fields!!");
});
4

4 に答える 4

2

別の回答が受け入れられた後、将来の読者のためにこれを投稿します。他の回答にはそれぞれ技術的なエラーが含まれており、説明が不足しているようです。


事前定義されたオプションをペア.validate()の形式でしか受け入れない場合、JavaScript を単純に に挿入することはできません。key:value利用可能なすべてのオプションについては、http: //docs.jquery.com/Plugins/Validation/validate#toptionsのドキュメントを参照してください。

ご覧のとおり、使用可能なハンドラーalert("Empty Fields!!");の1 つに割り当てる必要があります。メッセージはであるため、コールバック オプションを選択します。 ドキュメントによると、 「無効なフォームが送信されたときのカスタム コードのコールバック」です。functioncallbackEmpty Fields!!invalidHandlerinvalidHandler

逆に、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()この場合、という変数に 代入しても何の役にも立ちませんvalidatorpluginを初期化する準備ができている 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
于 2013-01-25T16:06:25.760 に答える
1

あなたの将来の参照のための友人

検証は {'key1':'value1','key1':'value1'} の形式である必要がある json 文字列を受け入れるため、キー値とキーと値のペアの間にセミコロンが必要であり、コンマで区切られている必要があります。キーと値のペアとして使用します。つまり、{'error':function(){alert('hello');}}

于 2013-01-25T11:17:51.507 に答える
1

http://docs.jquery.com/Plugins/Validation/validateは、コードが参照する jQuery プラグインであると想定しています。

クラス宣言でアラートを使用することはできません。次のように書き直す必要があります。

var validator = $("#reg_form").validate({
    errorLabelContainer: $("#reg_form div.error"),
    meta: "validate",
    submitHandler: function( form ) {
        alert("Empty Fields!!");
    }
});

または、submitHandler の代わりに invalidHandler: function(form, validator) を使用します

于 2013-01-25T11:15:50.600 に答える
0
var validator = $("#reg_form").validate({
    errorLabelContainer: $("#reg_form div.error"),
    meta: "validate",
    error: function(){alert("Empty Fields!!")};
});

errorそのプロパティを適切なものに置き換えるだけです...

アップデート ::

jQドキュメントをチェックしたところ...

errorハンドラを次のように置き換えますsubmitHandler

var validator = $("#reg_form").validate({
    errorLabelContainer: $("#reg_form div.error"),
    meta: "validate",
    submitHandler: function(myForm){alert("Empty Fields!!")};
});
于 2013-01-25T11:13:47.410 に答える