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

ご注意

Symfony2日本語翻訳ドキュメントは内容が古くなっております。公式サイトの英語ドキュメントを参照してください。

Note

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

datetime フィールドタイプ

このフィールドタイプは、特定の日付と時間(例 1984-06-05 12:15:30 )を表すデータを変更することができます。

テキスト入力またはセレクトタグとして表示されます。 元となるデータのフォーマットは DateTime オブジェクト、 stringtimestamp または array です。

対応するデータ型 DateTime, string, timestamp, array (参照 input オプション )
対応するタグ 単一のテキストボックス、または、3つのセレクトフィールド
オプション
継承された オプション
親タイプ form
クラス DateTimeType

フィールドオプション

date_widget

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

date タイプの widget オプションを定義します。

time_widget

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

time タイプの widget オプションを定義します。

widget

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

date タイプと、time タイプの widget オプションを両方定義します。 これは date_widgettime_widget オプションを上書きすることが出来ます。

input

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

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

  • string (例 2011-06-05 12:15:00)
  • datetime (単一の DateTime オブジェクト)
  • array (例 array(2011, 06, 05, 12, 15, 0))
  • timestamp (例 1307276100)

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

Caution

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

date_format

データ型: integer or string デフォルト: IntlDateFormatter::MEDIUM

format オプションの定義は date フィールドに渡されます。 より詳細は :date type’s format option を参照してください。

format

データ型: string デフォルト: Symfony\Component\Form\Extension\Core\Type\DateTimeType::HTML5_FORMAT

widget オプションを single_text にセットした場合、このオプションは入力フォーマットを特定します。 すなわち、 Symfony が入力を日時文字列としてどのように解釈するかを指定します。 デフォルトでは `RFC3339`_ フォーマットが HTML5の datetime フィールドに利用されます。 デフォルト値を維持することでフィールドが type="datetime" 付の input フィールドとしてレンダリングされます。

Note

  • 対象バージョン:2.3 (2.1以降)
  • 翻訳更新日:2013/11/24

hours

データ型: array デフォルト: 0 to 23

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

minutes

データ型: integer デフォルト: 1 to 59

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

seconds

データ型: integer デフォルト: 1 to 59

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

years

データ型: array デフォルト: 今年より5年前から5年後

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

months

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

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

days

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

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

'days' => range(1,31)

New in version 2.2: with_minutes オプションは Symfony 2.2 で追加されました。

with_minutes

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

分を入力に含めるかどうか。これは分を取得する追加の入力フォームを出力します。

with_seconds

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

秒を入力に含めるかどうか。これは秒を取得する追加の入力フォームを出力します。

model_timezone

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

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

view_timezone

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

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

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,
));

継承されたオプション

以下のオプションは 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”オプションを使用してコードの重複を減らす

フィールド変数

変数 データ型 使用法
widget mixed widget オプションの値
type string widgetsingle_text で、且つ、 HTML5 が有効な場合のみ、 インプットタイプ( datetime, date または time )を使用できます。
blog comments powered by Disqus