、私は以下の持っている場合を除き使用:私のフォームでルビー:検証のために、jQueryの検証が私のモデルでは
attr_accessor :address, :located_in_us
validates_length_of :address, :in => 1..50, :message => "Required field, please enter your address."
、私は彼らが米国に位置しているかどうかを尋ねるラジオボタンを持っています。彼らが "はい"を選択した場合、私はアドレスフィールドが必要になります。 「いいえ」をクリックすると、アドレスを含むDIVを非表示にする表示/非表示がありますが、フィールドは非表示になっていても依然として必須なので、フォームは送信されません。
私は次のことを試してみました:
<script type='text/javascript'>$(function() { $('[name="myform[address]"]').rules('add', {"maxlength":50,"required":true,"unless":false,"minlength":1,"messages":{"required":"Required field, please enter your address."}});});</script>
私の質問は何か...です:アドレスの下に追加Javascriptを次のようになりますので
validates_length_of :address, :in => 1..50, :message => "Required field, please enter your address.", :unless => :located_in_us == "1"
しかし、それが動作するようには思えませんユーザーが「いいえ」ラジオボタン(米国に住んでいない)をクリックすると、アドレスフィールドはもはや必須フィールドではなくなるようにフォームを作成しますか?
、今はJavaScriptを次のようになります。「しない限り」 'code':{} – ews2001
私が与えたコードは、サーバー側の検証のためだったews2001 @を。私はクライアント側のコードを使って答えを更新しました。お知らせ下さい。 – tsherif
あなたのJavaScriptは意味がありますが、私の質問に表示されているの行は自動的にオブジェクトによって作成され、ページソースに追加されます。オブジェクトで作成されたjavascriptを操作する方法、または少なくともカスタムjsを使用して、デフォルトのスクリプトの作成をオフにする方法はありますか? – ews2001