Symfony2:从不调用子表单中的事件监听器/不调度事件

时间:2014-02-25 10:03:08

标签: forms symfony event-listener symfony-2.4

我有一个包含其他表单类型的表单类型。

我在子表单中添加了一个事件监听器,但是从不执行监听器。

第一个表格类型:

class AFormType extends AbstractType {

   public function buildForm(FormBuilderInterface $builder, array $options) {
       $builder
               ->add('aSubFormType', new SubFormType());
   }
//[...]
}

第二种表格类型:

class SubFormType extends AbstractType
{

    public function buildForm(FormBuilderInterface $builder, array $options)
    {
    $builder->add("metier", "text");

    $builder->addEventListener(
        \Symfony\Component\Form\FormEvents::PRE_SET_DATA,
        function(\Symfony\Component\Form\FormEvent $event){
        // Some Stuff never executed
    });        
    }
}

我不知道这种行为是否正确或是否是一个错误? 我如何在子表单中使用EventListner?

由于

1 个答案:

答案 0 :(得分:0)

所以这是一个错误。

就像Stoph写的那样:https://github.com/symfony/symfony/issues/10399#issuecomment-37171979

  

尚未为虚拟表单触发PRE_SET_DATA已知。关闭为#8253

的副本