2011-08-14 132 views
0

我已经在这个问题上被困了三天。我是一个编程背景很少的前端开发人员,所以我对JavaScript有一点了解。jQuery验证插件:有条件的文本字段验证

问题是这样的:我有两个文本字段。如果两个文本字段都是NULL,那么将会有一个错误验证来填充其中一个。如果其中一个文本字段被填充,那么另一个将不再是必填字段。

下面是我对HTML:

<ul> 
<li> 
    <label for="billingAcctNo">Your account number:&nbsp;*</label> 
      <input type="text" name="billingAcctNo" id="billingAcctNo" class="textfield" /> 
     </li> 
     <li> 
      <label for="billingMobileNo">Or your mobile phone number:&nbsp;*</label> 
    <input type="text" name="billingMobileNo" id="billingMobileNo" class="textfield" /> 
     </li> 

而这就是我对我的验证:

$("#form").validate({ 
     rules: { 
      billingAcctNo: { 
      required: "#serviceBilling:checked" 
     }, 
     billingMobileNo: { 
      required: "#serviceBilling:checked", 
      phoneUS: true 
     } 
     }, 
    messages: { 
       billingAcctNo: "Please enter a valid account number or mobile number", 
     billingMobileNo: { 
      required: "Please enter a valid account number or mobile number", 
      phoneUS: "Please enter a valid mobile phone number" 
     } 
}); 

非常感谢!我真的很感激反馈!

回答

0

将您的规则配置更改为如下所述。

rules: { 
      billingAcctNo: { 
      required: true 
     }, 
     billingMobileNo: { 
      required: true, 
      phoneUS: true 
     } 
} 
+0

对不起,我不清楚 - 这有一个单选按钮,我必须点击预先称为## serviceBilling,这就是为什么它在那里。 尽管我需要一个OR语句 - billingAcctNo有效或billingMobileNo有效。如果它是NULL,那么两者都有验证。如果其中一个填满了,那么另一个文本字段不必填满。 这听起来很清楚,还是我需要更多示例? – Katie