I在Symfony FormType中使用FormEvents
。
我已经将一个data-attribute
添加到我的一个字段中,并且我正在尝试在PRE_SUBMIT
表单事件中获取此属性。
如果data-attribute
是true
,我想在这个表单事件中设置一个条件来添加另一个字段。
问题是,我不知道如何获取此表单事件中的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
下找到它。
再次提交表单,等待重定向被拦截,您应该会看到转储结果。