2009-10-21 20 views
5

jQuery Validateプラグインでは、入力フィールドからのフォーカスが失われたときでなく、フォーム送信時にのみ検証メッセージを表示するようにします。これをどのように達成するのですか?投稿時のみ検証を実行する方法 - jQuery検証プラグイン

今、私は失われたフォーカスイベント後の検証につながるこのパターンは、以下のい:

<html> 
<head> 
<script> 
    $(document).ready(function(){ 
    $("#commentForm").validate(); 
    }); 
    </script> 

</head> 
<body> 
<form class="cmxform" id="commentForm" method="get" action=""> 
<fieldset> 
<p> 
    <label for="cname">Name</label> 
    <em>*</em><input id="cname" name="name" size="25" class="required" minlength="2" /> 
    </p> 
</fieldset> 
</form> 
</body> 
</html> 

答えて

17

送信前にエラーが全く出ないようにするには、3つのハンドラをすべて無効にする必要があります。

$('#commentForm').validate({ 
    onfocusout: false, 
    onkeyup: false, 
    onclick: false 
}) 
+1

これは、特定の入力フィールドに対して異なる方法で行うことができますか?すなわち、1つのフィールドはキーアップで検証され、別のフィールドは同じ形式ではありません。 –

2

をあなたは有効または無効にするonfocusout

$(".selector").validate({ 
    onfocusout: false 
}) 

その他のオプションについては、デフォルトのオプションを変更する必要がありますここにリストされています - http://docs.jquery.com/Plugins/Validation/validate#toptions