Symfony событие формы POST_SUBMIT - PullRequest
0 голосов
/ 25 января 2020

Я пытаюсь понять, как на самом деле работают слушатели событий в формах 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 () это значение равно null) ...

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 25 января 2020

Вы должны добавить событие для конструктора форм.


$builder->addEventListener(FormEvents::POST_SUBMIT, function(FormEvent $event) {
    dump($event->getData());
    dump($event->getForm());
});

https://symfony.com/doc/current/form/events.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...