我在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
值?
知道转储的显示位置会非常有用。
由于
答案 0 :(得分:1)
从Symfony 2.6开始,您会在探查器中看到dump()结果。要在重定向期间接收转储,请使用intercept_redirects
并将其设置为true
。您可以在app/config/config_dev.yml
选项下的web_profiler
下找到它。
再次提交表单并等待重定向被截获,您应该看到转储结果。