fuelphpのFormクラスはいろいろと便利です。 その中でも、selectとradioはチェックをつけてくれたりするので大好きです。
Form::select - http://fuelphp.jp/docs/1.7/classes/form.html#/method_select
View内で以下のように書いたら、
[code] <? $arrGender = [1 => '男性', 2 => '女性']; $gender = 2; echo Form::select('gender',$gender,$arrGender,['class' =>'form-control']); ?> [/code]
こんなhtmlを作ってくれます。
[code] <select class="form-control" name="gender" id="form_gender"> <option value="1">男性</option< <option value="2" selected="selected">女性</option> </select> [/code]
通常は$arrGenderの部分は別で定義しておきますし、 $genderの部分はModelあたりから取ってきたりPostされた値が入っています。
$arrGenderの配列に合わせてoption の部分を作ってくれて、 $genderのキーと一致するoptionにselectedを付けてくれます。超便利。
ですが、これだとユーザーが本当に値を選択したのかわからないので、入力が空ならエラーを出す形にしたい。 つまりこういうHTMLを出したい。
[code] <select class="form-control" name="gender" id="form_gender"> <option value="">選択してください</option> <option value="1">男性</option> <option value="2">女性</option> </select> [/code]
$arrGenderをこんな配列にしてやれば実現できました。
[code] <? $gender = null; $arrGender = ['' => '選択してください', 1 => '男性', 2 => '女性']; echo Form::select('gender',$gender,$arrGender,['class' => 'form-control']); ?> [/code]