2013-09-27 1 views
0

В настоящее время я пытаюсь получить доступ к моей конфигурации формы (и ее параметрам) в обратном вызове PRE_SUBMIT FormEvent. Однако, когда я делаю что, к примеру:Symfony 2: доступ к форме конфигурации и отправленным данным в событии PRE_SUBMIT

<?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'); 
?> 

Это вызывает исключение, говоря:

методы FormBuilder не могут быть доступны больше после того, как строитель превращается в экземпляр FormConfigInterface.

На самом деле, я могу понять, почему: это потому, что данные формы будут отправлены. Однако это проблема для меня. Действительно, мне нужно найти способ создания других полей в моей форме на основе некоторых параметров конфигурации, когда данные уже введены пользователем, но до того, как данные будут обработаны контроллером.

Любая идея о том, как это сделать?

Спасибо!

ответ

3

Просто замените

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

в

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

Смежные вопросы