【发布时间】:2020-01-25 17:36:47
【问题描述】:
我试图了解 symfony 表单中的事件侦听器实际上是如何工作的。我尝试了不同的东西,我真的不知道我错在哪里......
这是我的表格:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('user', EntityType::class, [
'class' => User::class,
'label' => 'User',
'choice_label' => 'email',
'attr' => ['class' => 'form-control']
])
->add('submit', SubmitType::class, [
'label' => 'Select',
'attr' => ['class' => 'btn-primary btn-block']
]);
$builder->get('user')->addEventListener(
FormEvents::POST_SUBMIT,
function (FormEvent $event) {
dump($event->getData());
dump($event->getForm());
});
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([]);
}
我的猜测是,每当我提交表单时它会转储我一些数据,但它不会转储任何东西。
我尝试更改事件类型,但只有 PRE_SET_DATA 和 POST_SET_DATA 正在转储信息(尽管 $event->getData() 为空)...
感谢您的帮助!
【问题讨论】:
-
欢迎来到 SO!请客气一点,花一两分钟时间转录你的截图内容,并以文本形式提供。原理可以在meta.stackoverflow.com/questions/285551/…找到。