Symfony表单事件显示转储并获取数据属性


Symfony form event display dumps and get data-attributes

I在Symfony FormType中使用FormEvents

我已经将一个data-attribute添加到我的一个字段中,并且我正在尝试在PRE_SUBMIT表单事件中获取此属性。

如果data-attributetrue,我想在这个表单事件中设置一个条件来添加另一个字段。

问题是,我不知道如何获取此表单事件中的data-attribute值。我写的每个dump()都没有显示,或者我在Symfony分析器中找不到位置。

$builder->addEventListener(FormEvents::PRE_SUBMIT, function (FormEvent $event) use ($refreshIpV4s, $refreshIpV6s) {
    $form = $event->getForm();
    $data = $event->getData();
    dump($form->get('server')->has('data-mysql'));
    dump($form->get('server')->getData());
    dump($form['server']['data-mysql']);    
    if ($form['server']['data-mysql']) {
        $form->add('database', CheckboxType::class, [
            'label' => 'domain.form.associated_databases',
            'translation_domain' => 'front',
            'required' => false,
        ]);
    }
});

这些垃圾是测试,我不知道它们是否好,我只是在测试我用它得到了什么。

使用表单事件时,如何查看此dump()?如何获取我的data-attribute值?

了解转储的显示位置将非常有用。

感谢

自Symfony 2.6以来,您可以在探查器中看到dump()结果。要在重定向期间接收转储,请使用intercept_redirects并将其设置为true。您可以在web_profiler选项下的app/config/config_dev.yml下找到它。

再次提交表单,等待重定向被拦截,您应该会看到转储结果。