Ignore all hidden div but not one in jQuery valida

2020-01-28 02:48发布

问题:

I am using jQuery validation in my form http://jqueryvalidation.org/documentation/

I want to add the validation to all my fields but I want to ignore the hidden div's that have the class my_item.

So here is my jQuery:

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

How is it possible to exclude from this ignore case, the divs that have the class my_item. So something like $(":hidden").not(.my_item).

回答1:

You can use the :not() selector:

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


回答2:

Accepted answer is perfectly fine but when you need some more control than the jQuery selector provides. You could pass a function that tests each element.

for example:

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

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

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