所以我想根据提交的数据修改表单。我以该手册为例:http://symfony.com/doc/current/cookbook/form/dynamic_form_modification.html#cookbook-form-events-submitted-data
但我也想为新添加的输入提供默认值。为此,我为新添加的输入设置了数据选项:
$form->add('position', 'entity', array(
'class' => 'AcmeDemoBundle:Position',
'empty_value' => '',
'choices' => $positions,
'data' => $sport->getDefaultPosition()
));
不幸的是,如果在处理POST_SUBMIT事件时添加了输入,则它的值会被提交的数据覆盖。由于在此输入的请求中显然没有相应的数据(它是动态添加的),因此symfony将其值设置为null。因此,当我向用户显示增强形式时,它在相应字段中具有空值。
克服这个问题的最佳方法是什么?我可以在PRE_SUBMIT事件中更改提交的数据,但这看起来并不正确。