【问题标题】:Symfony 4.2 event POST_SUBMIT is returning nullSymfony 4.2 事件 POST_SUBMIT 返回 null
【发布时间】:2019-06-05 01:40:18
【问题描述】:

我在 Symfony 4.2.5 中使用相同的代码在加载状态和城市(estados 和 municipios)时执行 3 个表单,但只有这种表单让我抓狂,因为具有相同的代码,但它总是返回 null “municipio”,当我打印 $request 时它有 municipio=1 但在 $form->isValid() 中说 municipio 为空,它在我添加 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()
            ]);
        }
    }
    );

【问题讨论】:

  • 你想用 POST_SUBMIT 事件监听器完成什么?
  • 您是要访问表单填充的初始数据还是要使用用户提交的数据?
  • @Jeroen 感谢您的帮助,但我复制了我的字段,一个在 buildForm 中,另一个在事件中并导致不良行为

标签: symfony symfony-4.2


【解决方案1】:

我复制了我的字段,一个在 buildForm 添加时,另一个在事件中并导致不良行为。

Symfony 并没有说我们不能添加一个字段超过 1 次并且在我需要提交表单并且我的字段未被识别并且始终具有空值之前不会显示错误。

我刚刚删除了 $builder->add('municipio') 并且一切正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-24
    相关资源
    最近更新 更多