2011-02-02 8 views
1

フォームの検証にJQuery検証を使用しようとしています。JQueryの検証 - エラー状態をJavaScriptからリセットする

私は1つのフィールドを空にすることができますが、空でない場合は数字が必要です。 JQueryの検証では、 "class = 'digits'"を設定することでその罰金が処理されます。私の問題は、フィールドをクリアするためにJavaScriptを使用するボタンがあることです。

フィールドに数字以外の文字を入力すると、「数字だけを入力してください」というエラーが表示されます。ボタンをクリックすると、フィールドはクリアされますが、「桁数のみ入力してください」というエラーは引き続き表示されます。空であるフィールドがエラーではないため、これは間違っています。

私は、フィールドをクリアしています:

jQuery('#mybutton').click(function() 
{ 
    jQuery('#myfield').val(''); 
}); 

これが機能しています。

は、私はと検証を再実行することができます考え出し:jQueryオブジェクトに定義されたvalidate()メソッドがあり

jQuery('#mybutton').click(function() 
{ 
    jQuery('#myfield').val(''); 
    jQuery('#myfield').validate(); 
}); 

を、それを呼び出すと、エラーメッセージが消えることはありません。

アイデア?

+0

クリックハンドラ内から '.validate()'を呼び出すことはできません。プラグインの初期化メソッドです。その後、クリックハンドラは自動的に行われます。 – Sparky

答えて

0

jquery validateは、このためのリセット機能を提供します。

resetForm(); 
+2

私はフォームのすべてのフィールドをリセットする必要はありません、私はちょうど1つを変更し、検証を再実行したいです。 –