2017-01-07 2 views
1

フォームのdateTypeフィールドの最小値と最大値の範囲を設定する必要があります。私のコードはここにあります。あなたはDateTimeオブジェクトの代わりに、テキストとしてminmax属性を設定しているので、SymfonyのDateTypeフィールドで日付範囲を設定するには?

public function buildForm(FormBuilderInterface $builder, array $options) 
{ 
    $builder->add('date',DateType::Class, array(
     'widget' => 'single_text', 
     'attr' => array(
      'min' => new \DateTime(), 
      'max' => new \DateTime('+7 day'), 
    ))); 
} 
+0

あなたはドロップダウンリストまたは単に1つのフィールドの入力をしたいですか?通常、月、日、年を処理する必要があります。 –

答えて

3
public function buildForm(FormBuilderInterface $builder, array $options){ 
     $builder->add('date',DateType::Class, array(
       'widget' => 'choice', 
       'years' => range(date('Y'), date('Y')+100), 
       'months' => range(date('m'), 12), 
       'days' => range(date('d'), 31), 
       )); 
} 
0

おそらくあなたは、エラーが発生します。それらを文字列に変換してください(format()メソッドを使用してください)。このような何か:

'min' => (new \DateTime())->format('c'), //use format you need 
関連する問題