2012-01-23 57 views
3

我的生日列用戶對象:Symfony2中不能得到日期控件,工作

/** 
* Birthday 
* 
* @ORM\Column(type="date", nullable=true) 
*/ 
protected $birthday; 

在註冊表單中添加我生日的小部件如下:

->add('birthday', 'birthday') 

但是,當我發送表單,我得到該字段的This value is not valid錯誤。 我已經嘗試了一些辦法,但沒有一次成功:

->add('birthday', 'date') 
->add('birthday', 'date', array('input' => 'string')) 

有沒有人有辦法解決嗎?

+1

你是怎麼投入,得到這樣的消息?你有沒有嘗試過使用'format'選項? – greg0ire

+0

該小部件是「選擇」小部件,所以我只保留3個下拉框與他們的默認值(1-1-2007)。我也嘗試玩'格式'選項 - 沒有奏效。另外,我甚至沒有對該字段的限制,那麼會導致錯誤? – tamir

+0

您不需要設置約束,因爲您使用的是DateType類型,symfony知道您應該提供日期。我認爲'format'選項必須與默認小部件不兼容。 – greg0ire

回答

4

愚蠢的錯誤.. !!在php.ini

我的時區設置爲失效而導致的日期變壓器拋出一個異常

2

在要插入字符串輸入到日期字段,你應該使用的選項:「部件」 =>「single_text」

$builder->add('date_created', 'date', array(
    'widget' => 'single_text', 
    'format' => 'YYYY-MM-dd', 
)); 
+0

但我沒有,我想使用「選擇」小部件樣式,它只是不會工作 – tamir