2011-10-19 8 views
1

私はグローバルなJSファイルで、一般的なjQueryの検証コールがあります。jQueryの検証を使用すると、作成したオブジェクトへの参照を持たずにフォームをリセットする方法はありますか?

$('form').each(function() { 
    $(this).validate(); 
}); 

この方法は、ウェブサイト上の任意のフォームは、単純にメタデータを提供することで、検証を有効にすることができます。しかし、今、私はAJAXの提出をしているので、フォームをリセットしたい。公式サイトでは、それが作成されたオブジェクトを使用してフォームをリセットするには、こう述べています。

var validator = $('#someForm').validate(); 

問題は、私の一般的なバリのセットアップで、私が作成したオブジェクトへの参照を持っていない、です。私の場合でもそれを引き出す方法はありますか?

+0

.validate()が既に作成されている場合、バリデータオブジェクトを返します。 – user1122345

答えて

2

は、私はあなたがフォームをリセットすることにより、意味を理解していない、あなたはこのように行うことができますformValidations

for(var i in formValidations) 
{ 
    //do something with formValidations[i] 
} 
+0

ところで、 'removeData'を一回呼び出すだけで、複数のデータを削除することができます。文字列やスペースで区切られた文字列を渡すことができます。 $( 'form')。removeData(['バリデータ'、 'unobtrusiveValidation']); ' –

0
var formValidations = []; 
$('form').each(function() { 
    formValidations.push($(this).validate()); 
}); 

はその後

function ResetValidations(){ 
      $("form").removeData("validator"); 
      $("form").removeData("unobtrusiveValidation"); 
      $.validator.unobtrusive.parse("form"); 
    } 
1

を反復します。念のために...

あなたはこのように検証を削除することができます。..

$("form").removeData("validator"); 
$("form").removeData("unobtrusiveValidation"); 
関連する問題