我在Symfony2中设置了以下表单类型,我正在尝试向dateField
添加默认值,但似乎无法使其工作。
在下面的“Tried 1”中,我得到一个“表单的视图数据应该是DateTime类的实例,但是是一个(n)字符串”错误...这让我感到困惑,因为如果我给一个字符串它告诉我它需要是一个DateTime对象,并且在“Tried 2”中它运行没有错误但没有更改默认值。目前表单默认为'-0001-11-30 00:00:00'。有没有办法像这样设置这些默认值?
$builder
->add(
$builder->create('dateField', 'hidden' )->addViewTransformer( new DateTimeToStringTransformer() )
)
->add('field2', 'hidden')
->add('field3', 'hidden')
->add('submit', 'submit')
->getForm();
尝试过1:
->add($builder->create('boutDate', 'hidden', array('data' => new \DateTime()))->addViewTransformer( new DateTimeToStringTransformer() ))
尝试2:
->add(
$builder->create('boutDate', 'hidden' )->addViewTransformer( new DateTimeToStringTransformer() ),
'hidden',
array('data' => '2014-01-02')
)
答案 0 :(得分:9)
您不必使用变压器。只需设置字符串默认值
$builder
->add($builder->create('boutDate', 'hidden', array('data' => '2014-01-02')))
->add('field2', 'hidden')
->add('field3', 'hidden')
->add('submit', 'submit')
->getForm();