Home | Symfony2Doc »リファレンスドキュメント »Form Type リファレンス »checkbox フィールドタイプ

コンテンツ上部に更新日の記載のないページは、翻訳の内容が2.0相当のものになっております。最新の内容は原文のページをご確認ください。

Note

  • 対象バージョン:2.3+
  • 翻訳更新日:2014/05/18

checkbox フィールドタイプ

単一の入力チェックボックスを作成します。これは、常にブール値を持つフィールドに使用する必要があります。 チェックボックスがチェックされている場合 true に設定され、チェックボックスをオフにすると、 false に設定されます。

対応するデータ型 input checkbox フィールド
オプション
上書きされた オプション
継承された オプション
親タイプ form
クラス CheckboxType

使用例

$builder->add('public', 'checkbox', array(
    'label'     => 'このエントリーを公開しますか?',
    'required'  => false,
));

フィールドオプション

value

データ型: mixed デフォルト: 1

実際にチェックボックスやラジオボタンの値として使われていた値です。 これはオブジェクトにセットする値には影響しません。

Caution

デフォルトでチェックされたチェックボックスやラジオボタンを作成するには、data オプションを使用します。

上書きされたオプション

empty_data

データ型: string デフォルト: mixed

このオプションでは、empty_value 選択肢が選択されたときにどのような値を返すかを決定します。 チェックボックスでは、empty_data の値はデータトランスフォーマー(参照 データトランスフォーマの使用) によって返された値で上書きされます。

compound

データ型: boolean デフォルト: false

このオプションは、フォームが合成物であるかを指定します。 チェックボックスの場合は該当しないため、デフォルトの値を false で上書きします。

継承されたオプション

以下のオプションは form タイプを継承しています:

data

データ型: mixed デフォルト: 対応するオブジェクトのフィールド(一つであれば)

フォームを作成したとき、各フィールドに表示する初期値は、フォームのドメインオブジェクトの対応するプロパティの値です(オブジェクトがフォームにバインドされている場合)。もしフォーム、または、単に個々のフィールドの初期値を上書きしたい場合は、data オプションで設定することが出来ます。:

$builder->add('token', 'hidden', array(
    'data' => 'abcdef',
));

Note

フォームのフィールドのデフォルト値は、直接データ構造(例えば、エンティティまたは配列)から取得されます。 data オプションはこのデフォルト値を上書きします。

required

データ型: Boolean デフォルト: true

trueの場合は HTML5 の required 属性 がレンダリングされます。 対応する label もまた required クラスをレンダリングします。

これらは表面的でバリデーションからは独立しています。Symfonyに フィールドタイプを推測することを許可する場合は、 このオプションの値はバリデーションの情報から推測されるのが理想的でしょう。

label

データ型: string デフォルト: フィールド名から推測されたものです。

フィールドがレンダリングされる際にラベルが設定されます。false が設定されるとラベルは表示されません。 ラベルはテンプレート内部で設定することもできます。

{{ render_label(form.name, 'Your name') }}

label_attr

データ型: array デフォルト値: array()

フィールドのラベルを表示する際、 <label> 要素に html 属性を設定します。それは HTML 属性をキーとした連想配列です。この属性は直接テンプレートの中に設定することも出来ます。:

  • Twig
    {{ form_label(form.name, 'あなたのお名前', {'label_attr': {'class': 'CUSTOM_LABEL_CLASS'}}) }}
    
  • PHP
    echo $view['form']->label(
        $form['name'],
        'あなたのお名前',
        array('label_attr' => array('class' => 'CUSTOM_LABEL_CLASS'))
    );
    

read_only

データ型: Boolean デフォルト: false

このオプションが true の場合、そのフィールドは readonly 属性付きでレンダリングされるため、編集する事が出来ません。

disabled

データ型: boolean デフォルト: false

ユーザにフィールドの値を変更させたくない場合は、 disabled オプションを true にします。どんなサブミットされた値も無視されます。

error_bubbling

データ型: Boolean デフォルト: false フォームに限り compound

true の場合、このフィールドのエラーは親フィールドまたはフォームに渡されます。 たとえば、通常のフィールドを true に設定した場合、フィールドに対するエラーは 特定のフィールドではなくメインのフォームに付加されます。

error_mapping

データ型: array デフォルト: empty

このオプションはバリデーションエラーの対象を編集することができます。

matchingCityAndZipCode という名前のメソッドを持っているとして、それが city および zip code が一致するかの検証をするとします。しかし残念なことに、 “matchingCityAndZipCode” フィールドがフォームに無いため、 Symfony ができるのはフォームの上部にエラーを表示することです。

カスタマイズされたエラーマッピングを使うと、city フィールドの上にエラーを表示するように、より上手にエラーをマップできます。:

public function setDefaultOptions(OptionsResolverInterface $resolver)
{
    $resolver->setDefaults(array(
        'error_mapping' => array(
            'matchingCityAndZipCode' => 'city',
        ),
    ));
}

こちらが左側、右側のマッピングするルールです:

  • 左側はプロパティパスを有します。
  • クラスのプロパティまたはメソッドで違反が生成された場合、そのパスは単に “propertyName” です。
  • array または ArrayAccess オブジェクトで違反が生成された場合、プロパティパスは [indexName] です。
  • ドットでプロパティを分離し、それらを連結して、ネストされたプロパティパスを作成することができます。たとえば addresses[work].matchingCityAndZipCode のように。
  • 左側のエラーマッピングは単一のドット . も認められます。それはフィールド自体をさしています。フィールドに追加されたエラーはネストされたフィールドの代わりに付与されたことを意味します。
  • 右側は単にフォームのフィールド名を有します。

mapped

データ型: boolean

オブジェクトを読み込んでいるまたは書き込んでいる間、フィールドが無視されるようにしたい場合は、 mapped オプションを false にしてください。

フォーム変数

変数 データ型 使い方
checked Boolean 現在の入力がチェックされているかどうか。
blog comments powered by Disqus