jQuery validate plugin - 仅在可见时验证隐藏元素

时间:2010-08-15 21:15:25

标签: jquery validation

我的表单中有“您的帐单地址与送货地址相同”字段。如果用户单击单选按钮“否”,则显示隐藏的ul#billingAddress。 ul #countingAddress中包含的字段是可见的,如果ul有display:block。

如何为jquery validate.js编写自定义addMethod,只有在字段可见时才需要这些?这就是我所做的不起作用。

$.validator.addMethod ("BillingSameAsShipping", function(value, element) {
   var billingFields = ['billingAddress1','billingAddress2','billingCity','billingState','bilingZip']
   if ($("#billingAddress").is('visible') && billingFields.val('') {
       return false;
   } else 
       return true;
 }, "Please fill in the required billing information" );

这显然是顶了。我需要让它适用于var。

中的每一个

谢谢!

1 个答案:

答案 0 :(得分:19)

可见检查的问题在于以下部分:.is('visible')需要:.is(':visible')才能使用:visible selector


作为替代方案,您可以使用ignore option来做您想要的更轻松的事情,例如:

$("#myForm").validate({
  //other options
  ignore: ':hidden'
});

如果您愿意,可以使用此方法使用标准的必需规则。