之前修改窗体值我有以下情况:Symfony2中:如何验证
- 表单字段类型
date
- 像
dd.mm.YYYY
- 验证模式的辅助对象,轮流
12
到12.07.2012
或2.5
纳入02.05.2012
等
我的问题是:我在哪里调用转换输入值的方法?
当我从set
这个实体的方法调用它时,实际上这个值被改变了。但是当再次加载表单时(例如不完整的提交),会显示旧值(如2.5
),而不是转换后的值(2.5.2012
)。现在,我如何说明表单,实体内的值是否发生了变化?
也许有也是这样做的,之间的另一种方式:
$form->bindRequest($request);
// do some fancy stuff here
if ($form->isValid()) {}
PHP
这是从实体:
/**
* @ORM\Column(type="datetime", nullable=true)
* @Assert\DateTime()
*/
protected $date_start;
这是从:
$builder->add('date_start', 'datetime', array(
'label' => 'Start Datum/Uhrzeit',
'date_widget' => 'single_text',
'time_widget' => 'single_text',
'date_format' => 'dd.MM.yyyy',
'with_seconds' => false,
'required' => false,
));
我在下面发布了一个答案,但如果您需要更多的细节,随时发布您的表单类型和模型的代码,我可能会得到更具体的。 – MDrollette 2012-07-05 16:56:54