php – 在Symfony2中设置表单值变换器的默认值

前端之家收集整理的这篇文章主要介绍了php – 在Symfony2中设置表单值变换器的默认值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在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();

猜你在找的PHP相关文章