2011-08-14 12 views
0

私はこの問題で3日間困惑しました。私はプログラミングのバックグラウンドが非常に少ないフロントエンド開発者なので、javascriptに関する知識はほとんどありません。jQuery検証プラグイン:条件付きテキストフィールドの有効化

問題は次のとおりです。2つのテキストフィールドがあります。両方のテキストフィールドがNULLの場合、どちらか一方を記入するためのエラー検証が行われます。テキストフィールドの1つが塗りつぶされている場合、もう一方は必須フィールドではなくなります。ここで

は、私は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

ルール設定を次のように変更してください。

+0

申し訳ありませんが、これはラジオボタンがあり、## serviceBillingという名前をあらかじめクリックしておく必要があります。これはその理由です。 私はどちらか一方のステートメントが必要です.billingAcctNoが有効であるか、billingMobileNoが有効です。 NULLの場合は、両方とも検証が行われます。それらのうちの1つがいっぱいになると、もう1つのテキストフィールドはいっぱいになる必要はありません。 この音ははっきりしますか、もっと例が必要ですか? – Katie