Событие Symfony 4.2 POST_SUBMIT возвращает ноль - PullRequest
0 голосов
/ 05 июня 2019

Я делаю 3 формы в Symfony 4.2.5, все с одинаковым кодом, когда загружаю штаты и города (estados и municipios), но только эта форма сводит меня с ума, потому что имеет тот же код, который почти не работает, он всегда возвращает нуль в "municipio", и когда я печатаю $ request, он имеет municipio = 1, но в $ form-> isValid () говорит, что municipio имеет значение null, и он начался, когда я добавил FormEvents

Пожалуйста, если кто-нибудь может мне помочь, я буду благодарен, я проверил весь свой код, но это его разрыв.

$builder->get('estado')->addEventListener(FormEvents::POST_SUBMIT, function (FormEvent $event) {
        $estado = $event->getForm()->getData();

        if (null == $estado) {
            $event->getForm()->getParent()->add('municipio', EntityType::class, [
                'class' => 'App\Entity\Municipio',
                'required' => true,
                'placeholder' => '== Selecciona un municipio 1==',
                'choices' => []
            ]);
        } else {
            $event->getForm()->getParent()->add('municipio', EntityType::class, [
                'class' => 'App\Entity\Municipio',
                'required' => true,
                'placeholder' => '== Selecciona un municipio 2 ==',
                'choices' => $estado->getMunicipios()
            ]);
        }
    }
    );

1 Ответ

0 голосов
/ 05 июня 2019

Я продублировал свое поле, одно в buildForm при добавлении, а другое в событии и вызвало плохое поведение.

Symfony не говорит, что мы не можем добавить поле более 1 раза, и пока не появится ошибкаМне нужно было отправить форму, и мое поле не было распознано и всегда имело нулевое значение.

Я просто удалил $ builder-> add ('municipio') и все работает нормально.

...