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()
|
HTML タグ属性として使用されます。 |
|
返り値 |
string |
例 |
echo Form::input('name', 'value', array('style' => 'border: 2px;'));
// more to be added
|
ボタン要素 (<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();
|
Fieldset のページを参照してください