我目前正在尝试在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>
关于如何做到这一点的任何想法?
谢谢!
答案 0 :(得分:4)
只需替换
$myConfig = $form->get('my_form_element_child')->getConfig()->get('my_option');
到
$myConfig = $form->get('my_form_element_child')->getConfig()->getOption('my_option');