2011-08-14 180 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