web-dev-qa-db-ja.com

jQuery検証では1つではなく、すべての非表示divを無視します

フォームでjQuery検証を使用しています http://jqueryvalidation.org/documentation/

すべてのフィールドに検証を追加したいが、クラス_my_item_を持つ非表示のdivを無視したい。

だからここに私のjQueryがあります:

_ $("#myform").validate({ 
    ignore: ":hidden"
 });
_

この無視ケースから、クラス_my_item_を持つdivをどのように除外できますか。 $(":hidden").not(.my_item)のようなものです。

26
novellino

:not()セレクターを使用できます。

ignore: ":hidden:not(.my_item)"
67
techfoobar

受け入れられた答えはまったく問題ありませんが、jQueryセレクターが提供する以上の制御が必要な場合。 各要素をテストする関数を渡すことができます。

例えば:

ignore: function (index, el) {
   var $el = $(el);

   if ($el.hasClass('always-validate')) {
       return false;
   }

   // Default behavior
   return $el.is(':hidden');
},