在symfony2控制器中取消设置表单字段值

时间:2012-07-13 03:34:20

标签: symfony symfony-forms

在典型的Symfony2表单中,当字段无效时,表单会再次显示给用户,并重新填充所有字段,并在特定字段上出现问题。

在我的表单中,我想强制用户重新输入一个字段的值(出于安全原因),但要保留其余字段。有没有办法在SF2中取消设置/清除控制器中的字段值?

2 个答案:

答案 0 :(得分:1)

只需在模型对象本身上将其设置为null - 或任何空值即可。

if ($form->isValid()) {
    // ...
} else {
    $object->setSomeField(null);
}

答案 1 :(得分:1)

更改对象上的值后,如下面的答案所示,您需要再次创建表单并在执行时将对象传递给表单...

$form = $this->createForm(new YourFormType(), $object);

return $this->render('YourBundle:YourEntityName:yourTemplate.html.twig, (array(
    'entity'=>$entity,
    'form'=>$form->createView()
));