Form クラス

Form クラスは、個別のフォーム要素を作ることやバリデーションチェック付きのフォーム全体を作ることができます。 後者を作る場合は、 Fieldset クラスと組み合わせて使います。

個別のフォーム要素を作る

open($attributes = array(), $hidden = array())

フォームの開きタグ (<form>) を作ります。

静的 はい
パラメータ
パラメータ デフォルト 説明
$attributes
array()
action 属性 (フォームの送信先) となる文字列、または設定の配列を指定します。 action が指定されない場合は、現在の Uri が送信先に指定されます。 配列で指定された場合の値は、それぞれ html タグの属性として使われます。
$hidden
array()
フィールド名とその値の連想配列が、 非表示フィールド (<input type="hidden">) としてセットされます。
返り値 string
// <form action="http://mydomain.com/uri/to/form" accept-charset="utf-8" method="post"> を返す
echo Form::open('uri/to/form');

// <form action="http://google.com/" accept-charset="utf-8" method="get"> を返す
echo Form::open(array('action' => 'http://google.com/', 'method' => 'get'));

close()

フォームの閉じタグ (</form>) を作ります。

静的 はい
パラメータ (なし)
返り値 string
// </form> を返す
echo Form::close();

input($field, $value = null, $attributes = array())

入力要素 (<input>) を作ります。フィールド名、フィールド値やタグ属性をそれぞれ指定する、 または最初の引数に配列でまとめて指定することができます。

静的 はい
パラメータ
パラメータ デフォルト 説明
$field 必須 フィールド名の文字列、またはタグ属性の配列。
$value
null
フィールド値。最初のパラメータが配列の場合は無視されます。
$attributes
array()
HTML タグ属性として使用されます。
返り値 string
echo Form::input('name', 'value', array('style' => 'border: 2px;'));
// more to be added

button($field, $value = null, $attributes = array())

ボタン要素 (<button>) を作ります。フィールド名、フィールド値やタグ属性をそれぞれ指定する、 または最初の引数に配列でまとめて指定することができます。

静的 はい
パラメータ
パラメータ デフォルト 説明
$field 必須 フィールド名の文字列、またはタグ属性の配列。
$value
null
フィールド値。最初のパラメータが配列の場合は無視されます。
$attributes
array()
HTML タグ属性として使用されます。
返り値 string
echo Form::button('name', 'value', array('style' => 'border: 2px;'));

hidden($field, $value = null, $attributes = array())

このメソッドは、 Form::input() メソッドの別名です。 type 属性を自動で 'hidden' にセットします。

csrf()

生成された CSRF トークンが value 属性に自動でセットされた入力要素 (<input type="hidden">) を作ります。

password($field, $value = null, $attributes = array())

このメソッドは、 Form::input() メソッドの別名です。 type 属性を自動で 'password' にセットします。

radio($field, $value = null, $checked = null, $attributes = array())

このメソッドは、 Form::input() メソッドの別名です。 type 属性を自動で 'radio' にセットします。

下位バージョンとの互換性のため、 radio($field, $value = null, array $attributes = array()) という書き方も可能です。

静的 はい
パラメータ
パラメータ デフォルト 説明
$field 必須 フィールド名の文字列、またはタグ属性の配列。
$value
null
フィールド値。最初のパラメータが配列の場合は無視されます。
$checked
null
(ブール値のときは) チェックの状態、(文字列のときは) $value と一致するかどうか。 最初のパラメータが配列の場合は無視されます。
$attributes
array()
HTML タグ属性として使用されます。
返り値 string
echo Form::label('Male', 'gender');
echo Form::radio('gender', 'Male', true);
echo Form::label('Female', 'gender');
echo Form::radio('gender', 'Female');

checkbox($field, $value = null, $checked = null, $attributes = array())

このメソッドは、 Form::input() メソッドの別名です。 type 属性を自動で 'checkbox' にセットします。

下位バージョンとの互換性のため、checkbox($field, $value = null, array $attributes = array()) という書き方も可能です。

静的 はい
パラメータ
パラメータ デフォルト 説明
$field 必須 フィールド名の文字列、またはタグ属性の配列。
$value
null
フィールド値。最初のパラメータが配列の場合は無視されます。
$checked
null
(ブール値のときは) チェックの状態、(文字列のときは) $value と一致するかどうか。 最初のパラメータが配列の場合は無視されます。
$attributes
array()
HTML タグ属性として使用されます。
返り値 string
echo Form::label('Male', 'gender');
echo Form::checkbox('gender', 'Male', true);
echo Form::label('Female', 'gender');
echo Form::checkbox('gender', 'Female');

file($field, $attributes = array())

このメソッドは、 Form::input() メソッドの別名です。 type 属性を自動で 'file' にセットします。

reset($field, $value = null, $attributes = array())

このメソッドは、 Form::input() メソッドの別名です。 type 属性を自動で 'reset' にセットします。

submit($field, $value = null, $attributes = array())

このメソッドは、 Form::input() メソッドの別名です。 type 属性を自動で 'submit' にセットします。

textarea($field, $value = null, $attributes = array())

テキストエリア要素 (<textarea>) を作ります。フィールド名、フィールド値やタグ属性をそれぞれ指定する、 または最初の引数に配列でまとめて指定することができます。

静的 はい
パラメータ
パラメータ デフォルト 説明
$field 必須 フィールド名の文字列、またはタグ属性の配列。
$value
null
フィールド値。最初のパラメータが配列の場合は無視されます。
$attributes
array()
HTML タグ属性として使用されます。
返り値 string
echo Form::textarea('description', 'enter here', array('rows' => 6, 'cols' => 8));
// more to be added

select($field, $values = null, $options = array(), $attributes = array())

セレクトメニュー要素 (<select>) を作ります。フィールド名、選択状態の値、選択肢項目やタグ属性をそれぞれ指定する、 または最初の引数に配列でまとめて指定することができます。

静的 はい
パラメータ
パラメータ デフォルト 説明
$field 必須 フィールド名の文字列、またはタグ属性の配列。
$values
null
選択した値、または複数選択したときは値の配列。 最初のパラメータが配列の場合は無視されます。
$options
array()
配列に value=>label ペアを含んでいる場合には、 value=>label ペアの連想配列はさらに opt_name=>array() として選択項目のグループ (<optgroup>) を含んでいるかもしれません。
$attributes
array()
HTML タグ属性として使用されます。
返り値 string
echo Form::select('country', 'none', array(
	'none' => 'None',
	'europe' => array(
		'uk' => 'United Kingdom',
		'nl' => 'Netherlands'
	),
	'us' => 'United States'
));
// more to be added

label($label, $id = null, $attributes = array())

ラベル要素 (<label>) を作ります。ラベル、ラベルを for 属性で関連付ける id 属性やタグ属性をそれぞれ指定する、 または最初の引数に配列でまとめて指定することができます。

静的 はい
パラメータ
パラメータ デフォルト 説明
$label 必須 フィールド名の文字列、またはタグ属性の配列。
$id
null
このラベルと関連付けをするフィールドの id 属性。
$attributes
array()
HTML タグ属性として使用されます。
返り値 string
echo Form::label('Username', 'username');
// more to be added

fieldset_open($attributes = array(), $legend = null)

フィールドセットの開きタグ (<fieldset>) を作ります。

静的 はい
パラメータ
パラメータ デフォルト 説明
$attributes
array()
設定の配列。フィールドセットの中で legend タグをセットするために、'legend' をキーとして使用することができます。 指定された値は、それぞれ HTML タグの属性として使用されます。
$legend
string
フィールドセットのオプションとして legend タグに使用する文字列。
返り値 string
// <fieldset > を返す
echo Form::fieldset_open();

// <fieldset class="example-class" id="example-id"> を返す
echo Form::fieldset_open(array('class' => 'example-class', 'id' => 'example-id'));

// <fieldset class="example-class" id="example-id"><legend>Custom Legend</legend> を返す
echo Form::fieldset_open(array('class' => 'example-class', 'id' => 'example-id'), 'Custom Legend');

// <fieldset class="example-class" id="example-id"><legend>Custom Legend</legend> を返す
echo Form::fieldset_open(array('class' => 'example-class', 'id' => 'example-id', 'legend' => 'Custom Legend'));

fieldset_close()

フィールドセットの閉じタグ (</fieldset>) を作ります。

静的 はい
パラメータ (なし)
返り値 string
// </fieldset> を返す
echo Form::fieldset_close();

fieldsets を使ってオブジェクト指向風にフォームを作成する

Fieldset のページを参照してください