以下のように、ラジオボタンによって入力値をenable / disable したい。
====== 表示 ======
入力値:[___________] (o) 有効 ( ) 無効
"有効" を選択している場合は入力値は必須入力に、"無効" を選択している場合は入力値欄は空欄でも良いとする。
====== フォームオブジェクト ======
@form = AlForm.new([
AlInteger.new( "input1" ),
AlRadios.new( "select", :options=>{ :enable=>"有効", :disable=>"無効" }, :required=>true ),
] )
====== サブミットアクション ======
# バリデーションして値を取り出す
if ! @form.validate
AlTemplate.run( "form.rhtml" )
return
end
# 必要な項目のバリデーション用フラグを変更
if @form[:select] == "enable"
@form.widgets[:input1].required = true
end
# 再度バリデーションする
if ! @form.validate
AlTemplate.run( "form.rhtml" )
return
end