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

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

Note

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

birthday フィールドタイプ

date フィールドは誕生日のデータを取り扱うことに特化しています。

1つのテキストボックス、または、3つ(年月日)のテキストボックス、または、3つのセレクトボックスとして表示されます。

このタイプは date タイプと基本的に同じですが、より適切なデフォルトを years オプションにもちます。 years オプションにはデフォルトで 120年前から今年まで(の選択肢が入ります)。

対応するデータ型 DateTime, string, timestamp, array (参照 input option)
対応するタグ widget オプションに基づいた3つのセレクトボックス、または、1つか3つのテキストボックス
上書きされたオプション
継承されたオプション
親タイプ date
クラス BirthdayType

上書きされたオプション

years

データ型: array デフォルト: 120年前から今年まで

year フィールドタイプで使用可能な年のリストです。このオプションは widget オプションが choice のときにのみ関連があります。

継承されたオプション

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

widget

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

フィールドの表示の基本的な方法です。次のいずれかになります。 The basic way in which this field should be rendered. Can be one of the following:

  • choice: 3つの選択フォームを表示します。選択の順序は、format オプションで定義されています。
  • text: 3つの text タイプの入力フィールド(月、日、年)をレンダリングします。
  • single_text: date タイプの単一の入力フォームをレンダリングします。ユーザーの入力は format オプションに基づいて検証されます。

input

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

input データのフォーマット、すなわち、対応するオブジェクトに保存される日付のフォーマットの有効な値は次のとおりです。:

  • string (例 2011-06-05)
  • datetime (単一の DateTime オブジェクト)
  • array (例 array('year' => 2011, 'month' => 06, 'day' => 05)`)
  • timestamp (例 1307276100)

フォームから戻って来る値も、この形式に戻して正規化されます。

Caution

timestamp を使用する場合、32bitシステムでは DateType は 1901年12月13日(金)20時45分54秒 (GMT) から 2038年1月19日(木)03時14分07秒(GMT) までの日時に限られます。 これは limitation in PHP itself によるものです。

empty_value

データ型: string or Boolean

New in version 2.3: Symfony 2.3 から、 expanded オプションが true の場合でも空の値がサポートされました。

このオプションは特別な「空の」選択肢(例 “選択肢を選んで下さい” )がセレクトウィジェットの一番上に表示されるかどうかを決定します。このオプションは multiple オプションが false の場合にのみ適用されます。

  • テキストとして”選択肢を選んで下さい”との空の値を追加します。:

    $builder->add('states', 'choice', array(
        'empty_value' => '選択肢を選んで下さい',
    ));
    
  • 「空の」値の選択肢が表示されないことを保証します。:

    $builder->add('states', 'choice', array(
        'empty_value' => false,
    ));
    

empty_value を設定しないままで、 required オプションが false の場合にのみ空の選択肢(テキスト無し)が自動的に追加されます。:

// 空の選択肢(テキスト無し)が追加されます
$builder->add('states', 'choice', array(
    'required' => false,
));

months

データ型: array デフォルト: 1 to 12

month フィールドタイプに設定可能な月のリストです。このオプションは widget オプションに choice が設定されている場合のみ意味を持ちます。

days

データ型: array デフォルト: 1 to 31

day フィールドタイプに設定可能な日のリストです。このオプションは widget オプションに choice が設定されている場合のみ意味を持ちます。:

'days' => range(1,31)

format

データ型: integer または string デフォルト: IntlDateFormatter::MEDIUM ( widgetsingle_text の場合は yyyy-MM-dd )

ユーザーの入力を適切なフォーマットに変換するために使用され、オプションは IntlDateFormatter クラスに渡されます。 widget オプションが single_text に設定されている場合に重要であり、ユーザがどのようにデータを入力するのかを定義します。 デフォルトでは、フォーマットは現在のユーザーのロケールに基づいて決定さます。これは、 期待するフォーマットはユーザーごとに異なる ことを意味します。 文字列として書式を渡してオーバーライドすることができます。

有効なフォーマットの詳細については、 Date/Time Format Syntax を参照してください。:

$builder->add('date_created', 'date', array(
    'widget' => 'single_text',
    // これは single_text フォーマットの実際のデフォルトです。
    'format' => 'yyyy-MM-dd',
));

Note

HTML5の “date” フィールドとして表示したい場合、 single_text ウィジェットを yyyy-MM-dd ( RFC 3339 のフォーマット) のフォーマットで使用しなくてはいけません。 それは single_text ウィジェットを使用する場合のデフォルト値です。

model_timezone

データ型: string デフォルト: システムのデフォルトのタイムゾーン

保存されている入力データのタイムゾーン。これは PHP supported timezones の一つである必要があります。

view_timezone

データ型: string デフォルト: システムのデフォルトのタイムゾーン

ユーザーに表示されるデータのタイムゾーン(従って、ユーザーが送信するデータも)。これは PHP supported timezones の一つである必要があります。

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

data

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

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

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

Note

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

invalid_message

データ型: string デフォルト: This value is not valid

フィールドに入力されたデータが意味を成さない(すなわち、バリデーション失敗の)場合に使われるバリデーションエラーのメッセージです。

たとえば、時間に変換される time フィールドに無意味な文字を入れたときに、または、 number フィールドに文字列(例、 apple )を入れたときにおきます。

通常の(最小の文字数をセットするような)(ビジネスロジック)バリデーションはバリデーションメッセージをバリデーションルール( reference )とあわせて設定すべきです。

invalid_message_parameters

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

invalid_message オプションをセットする場合、文字列にいくつかの変数を取り込む必要があるかもしれません。プレースホルダーをそのオプションに加え、変数をこのオプションに含めることで可能です:

$builder->add('some_field', 'some_type', array(
    // ...
    'invalid_message'            => 'You entered an invalid value - it should include %num% letters',
    'invalid_message_parameters' => array('%num%' => 6),
));

read_only

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

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

disabled

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

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

mapped

データ型: boolean

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

inherit_data

New in version 2.3: このオプションは Symfony 2.3 より前は virtual として知られていました。

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

フォームが親フォームからデータを継承する場合は、このオプションで決定します。複数のフォーム間で重複しているフィールドのセットを持っている場合に役立ちます。参照 “inherit_data”オプションを使用してコードの重複を減らす

blog comments powered by Disqus