目次

以下のように、ラジオボタンによって入力値を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