我在Symfony2中设置了以下表单类型,我正在尝试为dateField添加默认值,但似乎无法使其正常工作.
在下面的“尝试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() ),array('data' => '2014-01-02') )
您不必使用变压器.只需设置字符串默认值即可
$builder ->add($builder->create('boutDate',array('data' => '2014-01-02'))) ->add('field2','submit') ->getForm();