Form クラス

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

フォームパーツを作る

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

フォームの開きタグ(<form>)を返します

静的 はい
パラメータ
パラメータ 規定値 説明
$attributes
array()
action属性(フォームの送信先)を文字列または、 配列で指定します。 空の場合は、自身のページが送信先に指定されます。
$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>)を返します

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

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

入力要素を返します。最初のパラメータに配列を指定することで、name属性、value属性や その他、HTML属性を指定することができます。

静的 はい
パラメータ
パラメータ 規定値 説明
$field 必須 フィールド名(name属性)や、その他の属性を指定します
$value
null
1つめのパラメータが配列ではない場合、ここで値(value属性)を指定します
$attributes
array()
HTMLの属性を配列で指定します
返り値 string
echo Form::input('name', 'value', array('style' => 'border: 2px;'));
// more to be added

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

ボタン要素を作ります。パラメータにはフィールド名、値、HTML属性を指定する方法と、 配列でまとめて指定する方法があります。

静的 はい
パラメータ
パラメータ 規定値 説明
$field 必須 フィールド名を文字列で指定するか、配列で属性などをまとめて指定します
$value
null
1つめのパラメータが配列でない場合、「値」を指定します
$attributes
array()
HTML属性を指定します
返り値 string
echo Form::button('name', 'value', array('style' => 'border: 2px;'));

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

このメソッドは、Form::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
1つめのパラメータが配列でない場合、「値」を指定します
$checked
null
1つめのパラメータが配列でない場合、 チェックの状態を、ブール値または $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())

This is an alias for Form::input() that automatically sets the type attribute to 'checkbox'.
For backwards compatibility this method also accepts: checkbox($field, $value = null, array $attributes = array())

静的 はい
パラメータ
パラメータ 規定値 説明
$field 必須 Either a string for the fieldname or an array of tag attributes.
$value
null
Field value, will be ignored when the first param is an array.
$checked
null
Whether checked (if bool) or matches $value (if string), will be ignored when the first param is an array.
$attributes
array()
These will be used as html tag properties.
返り値 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())

This is an alias for Form::input() that automatically sets the type attribute to 'file'.

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

This is an alias for Form::input() that automatically sets the type attribute to 'reset'.

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

This is an alias for Form::input() that automatically sets the type attribute to 'submit'.

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

Creates an html textarea element. It can be set using the fieldname, its value and tag attributes or all in one attribute for the first argument.

静的 はい
パラメータ
パラメータ 規定値 説明
$field 必須 Either a string for the fieldname or an array of tag attributes.
$value
null
Field value, will be ignored when the first param is an array.
$attributes
array()
These will be used as html tag properties.
返り値 string
echo Form::textarea('description', 'enter here', array('rows' => 6, 'cols' => 8));
// more to be added

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

Creates an html select element. It can be set using the fieldname, its selected value(s), its options and tag attributes or all in one attribute for the first argument.

静的 はい
パラメータ
パラメータ 規定値 説明
$field 必須 Either a string for the fieldname or an array of tag attributes.
$values
null
Selected value or array of values for multiselect, will be ignored when the first param is an array.
$options
array()
Associative array of value=>label pairs, may also contain option groups as opt_name=>array() where the array contains its set of value=>label pairs.
$attributes
array()
These will be used as html tag properties.
返り値 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())

Creates an html label element. It can be set using label, the id it's for and tag attributes or all in one attribute for the first argument.

静的 はい
パラメータ
パラメータ 規定値 説明
$label 必須 Either a string for the label or an array of tag attributes.
$id
null
The field's id this label belongs to.
$attributes
array()
These will be used as html tag properties.
返り値 string
echo Form::label('Username', 'username');
// more to be added

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

Create a fieldset open tag.

静的 はい
パラメータ
パラメータ 規定値 説明
$attributes
array()
An array of settings; may use the key of 'legend' to set the fieldset's legend attribute. The attribute's values will be used as html tag properties.
$legend
string
String to be used for the legend fieldset option
返り値 string
// returns <fieldset >
echo Form::fieldset_open();

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

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

// returns <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()

Create a fieldset close tag.

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

Create forms in an OOP way using fieldsets

See Fieldset