2017-08-22 3 views
0

このjqueryプラグインを使用してリアルタイムで(入力時に)フォームを検証する:https://jqueryvalidation.org/rules/Jquery Validationプラグインを使用してフォームにリアルタイム検証を追加する

これは私の現在の検証機能の例です:デフォルトでは

(function(ns, window, document, $, undefined) { 

var $form; 

ns.init= function(){ 

    $form = $('#formQA'); 

    $form.validate({ 
     rules : { 
      QResponse : { 
       required: function (element) { 
        if ($(element).is(":visible")) { 
         return true; 
        } 
        return false; 
       } , 
       maxlength: 255, 
       minlength: 2 
      } 
     } 
    }) 
} 
})(home.createNS('home.qa.validation', false), window, document, jQuery); 
+0

ここでの質問は何ですか?検証は機能していませんか? –

+0

いいえそれは動作しますが、私はそれをリアルタイムにしたい:私は入力している間に、私は別の入力フィールドに移動するときではない –

+0

これを行うにはどうすればよいですか?完了していないものをどのように検証する予定ですか?あなたはそれに対して何をテストしていますか? – Korgrue

答えて

1

、それはkeyupイベントに検証します。しかし、妥当性検査は "怠け者"ではなく、 "熱心な"ものではない。つまり、提出の最初のクリック後まで検証は行われない。だから、いくつかの設定を調整する必要があります。

$form.validate({ 
    rules : { 
     // rules 
    }, 
    onfocusout: function(element) { 
     this.element(element); // triggers validation 
    }, 
    onkeyup: function(element, event) { 
     this.element(element); // triggers validation 
    } 
}); 

あなたのコード:

required: function (element) { 
    if ($(element).is(":visible")) { 
     return true; 
    } 
    return false; 
} 

あなたは、視認性をテストする必要はありません。デフォルトでは、プラグインは隠しフィールドを動的に無視します。 requiredtrueに設定し、残りの部分を実行してください。

関連する問題