2

このフォームの入力値を変更するたびにフォームのすべてのフィールドをチェックするようにバリデーターを設定するにはどうすればよいですか。私はもう試した

$("#form-user-edit").validate({
        keypress : true
    });

しかし、それは機能していません。

jsFiddleを作成しましたhttp://jsfiddle.net/NickBunich/pDrTF/1/

問題は、最初の入力に何かを入力すると(他の入力が有効になりますが、2番目の入力に何かを入力すると、それを消去してから最初の入力のテキストを消去します)、エラーメッセージとハイライトが表示されたままになることです。

4

3 に答える 3

3

次の回答は、プラグインの組み込みコールバック イベント関数の適切な使用法を示しています。外部コールバック関数の作成は余分で不要です。


あなたのコード...

$("#form-user-edit").validate({
    keypress : true
});

.validate()オプション を単純に「補う」または「発明する」ことはできません。keypress:存在しません。利用可能な唯一のオプションについては、このページを参照してください。

このフォームの入力値が変更されるたびにフォームのすべてのフィールドをチェックするように、バリデーターを設定するにはどうすればよいですか。

というオプションが既にありonkeyup、デフォルトでオンになっています。(これは、すべてのキーアップ イベントでアクティブな入力のみをチェックします。)

onkeyupニーズに合わせて変更できます。これにより、すべてのキーアップ イベントで フォーム全体がチェックされます。

$(document).ready(function() {
    $("#form-user-edit").validate({
        // other rules and options,
        onkeyup: function (element, event) {
            if (event.which === 9 && this.elementValue(element) === '') {
                return;
            } else if (element.name in this.submitted || element === this.lastActive) {
                if($("#form-user-edit").valid()) {
                    $("#form-user-edit .error").removeClass('error');
                };
            }
        }
    });
});

実際のデモ: http://jsfiddle.net/CMT5r/

動作デモには、要求どおりに機能するように変更された OP のコードが含まれています。

于 2013-01-31T16:39:49.310 に答える
1

changeこれを行うためにイベントハンドラーを追加できます

$("#form-user-edit").on('change', ':input', function(){
    if($("#form-user-edit").valid()) {
        $("#form-user-edit .error").removeClass('error')
    }
})

デモ:フィドラー

于 2013-01-31T12:08:17.387 に答える
1

As an Example ,you have to :

  • specify rules for check

     $("#form-user-edit").validate({
           rules: {
             name: "required",
             email: {
               required: true,
               email: true
             }
           },
           messages: {
             name: "Please specify your name",
             email: {
               required: "We need your email address to contact you",
               email: "Your email address must be in the format of name@domain.com"
             }
           }
        })
    

this tutorial would give you vast explaination on the validations see here

于 2013-01-31T11:05:19.053 に答える