Symfony 2:在PRE_SUBMIT事件中访问表单配置和提交的数据

时间:2013-09-27 14:16:49

标签: symfony symfony-forms

我目前正在尝试在PRE_SUBMIT FormEvent回调中访问我的表单配置(及其选项)。但是,当我这样做时,例如:

<?php
// This is my callback function for the PRE_SUBMIT event on a formtype element
public function preSubmit(FormEvent $event)
{
    $data = $event->getData();
    $form = $event->getForm();
    [...]
    $myConfig = $form->get('my_form_element_child')->getConfig()->get('my_option');
?>

它提出了一个例外说:

  

将构建器转换为FormConfigInterface实例后,无法再访问FormBuilder方法。

实际上,我可以理解为什么:这是因为表单数据将被提交。 但是,对我来说这是一个问题。实际上,当数据由用户输入已经但数据被控制器“处理”之前,我需要找到一种基于某些配置选项在表单中创建其他字段的方法。 / p>

关于如何做到这一点的任何想法?

谢谢!

1 个答案:

答案 0 :(得分:4)

只需替换

$myConfig = $form->get('my_form_element_child')->getConfig()->get('my_option');

$myConfig = $form->get('my_form_element_child')->getConfig()->getOption('my_option');