我需要在 preBind 上修改一个表单(使用 Symfony 2.2)。
这是我的 EventSubscriber 中 preBind 函数的一部分:
public function preBind(FormEvent $event)
{
$form = $event->getForm();
$form->get('locationType')->setData('default');
}
但是,当我提交表单时,这个值没有被保存。我错过了一步吗?我是否需要在 FormEvent 对象本身上调用 setData 才能传播新数据?
真正能帮助我解决这个问题的是在本页底部的示例中查看受保护的函数 customizeForm($form, $positions):
http://symfony.com/doc/current/cookbook/form/dynamic_form_modification.html