如何在preBind事件上向Symfony2表单添加字段?

时间:2013-06-18 20:53:03

标签: php forms events symfony

我需要修改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

1 个答案:

答案 0 :(得分:0)

正如cheesemacfly建议的那样,我最终在控制器中更改了这些数据,而不是尝试在事件订阅者中进行此操作。

相关问题