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]