忽略隐藏块的 jquery 验证(div's)

Ignoring jquery validation for hidden blocks(div's)

我正在开发一个 CodeIgniter 应用程序,其中我有一个包含多个块的表单,这些块具有公共或不同的字段。 我有一个 select 框,在 select 一个选项上,我将 enable/disable 块(div's)。一次可以看到一个方块。我正在使用 jquery 验证插件来验证表单。由于隐藏块的必填字段,我在尝试提交表单时遇到问题。谁能告诉我如何解决这个问题

$("#form").validate({
       ignore: [],
       rules:{
               company:{
                    required:true
              },
              location_name:{
                    required:true
               },
               address:{
                   required:true
               },
                city:{
                  required:true
                 },
                 pincode:{
                required:true
            },
            sender_name:{
                required:true,
                minlength:3,
                maxlength:50,
                firstletter:true
            },
            email:{
                 required:true,
                 email:true
            },
            mobile_num:{
               required:true,
               minlength:10,
               mobvalid:true
            },
            phone_num:{
               minlength:10
            },
            state:{
                required:true
            },
            type_of_sample:{
                required:true
            },
            manufacturer_id:{
                required:true
            }
          },
  messages:{
        company:{
            required:"Please select company name"
        },
        location_name:{
            required:"Please select the location"
        },
        address:{
            required:"Please enter the address"
        },
        city:{
            required:"Please enter the city"
        },
        pincode:{
            required:"Please enter the pincode"
        },
        sender_name:{
            required:"Please enter firstname",
            minlength:"Please enter atleast 3 characters",
            maxlength:"Maximum 50 characters allowed"
        },
        email: {
            required:"Please enter the email address",
        },
        mobile_num:{
            required:"Please enter mobile number",
        },
        state:{
            required:"Please select the state"
        },
        type_of_sample:{
            required:"Please select the type of sample"
        },
        manufacturer_id:{
            required:"Please select any manufacturer"
        }
  },
  submitHandler: function(form) {
         form.submit();
     }
 });

此处 manufacturer_id 位于阻止我提交表单的隐藏块中。请帮帮我。

你可以这样试试,有一个link可以参考:

$.validator.setDefaults({
    ignore: ":hidden"
  });

参考在这里:http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.js

从函数中删除忽略属性

$("#form").validate({
       ignore: [], //remove this attribute
});

所以你的代码看起来像

$("#form").validate({
       rules:{
               company:{
                    required:true
              },
              location_name:{
                    required:true
               },
               address:{
                   required:true
               },
                city:{
                  required:true
                 },
                 pincode:{
                required:true
            },
            sender_name:{
                required:true,
                minlength:3,
                maxlength:50,
                firstletter:true
            },
            email:{
                 required:true,
                 email:true
            },
            mobile_num:{
               required:true,
               minlength:10,
               mobvalid:true
            },
            phone_num:{
               minlength:10
            },
            state:{
                required:true
            },
            type_of_sample:{
                required:true
            },
            manufacturer_id:{
                required:true
            }
          },
  messages:{
        company:{
            required:"Please select company name"
        },
        location_name:{
            required:"Please select the location"
        },
        address:{
            required:"Please enter the address"
        },
        city:{
            required:"Please enter the city"
        },
        pincode:{
            required:"Please enter the pincode"
        },
        sender_name:{
            required:"Please enter firstname",
            minlength:"Please enter atleast 3 characters",
            maxlength:"Maximum 50 characters allowed"
        },
        email: {
            required:"Please enter the email address",
        },
        mobile_num:{
            required:"Please enter mobile number",
        },
        state:{
            required:"Please select the state"
        },
        type_of_sample:{
            required:"Please select the type of sample"
        },
        manufacturer_id:{
            required:"Please select any manufacturer"
        }
  },
  submitHandler: function(form) {
         form.submit();
     }
 });

参考validate.js