Forms 在Symfony 3中提交表单后删除实体

Forms 在Symfony 3中提交表单后删除实体,forms,symfony,Forms,Symfony,我想删除表单集合中的某些实体,具体取决于其他提交的值。这里是我在Symfony 2.5中的一个最基本的代码,但是它在Symfony 3中不再工作了 public function buildForm(formbuilder接口$builder,数组$options) { $myformentity=$options['data']; $builder ->添加('mycollection',CollectionType::class) ->添加('mycheckbox',CheckboxType

我想删除表单集合中的某些实体,具体取决于其他提交的值。这里是我在Symfony 2.5中的一个最基本的代码,但是它在Symfony 3中不再工作了

public function buildForm(formbuilder接口$builder,数组$options)
{
$myformentity=$options['data'];
$builder
->添加('mycollection',CollectionType::class)
->添加('mycheckbox',CheckboxType::类,数组(
“必需”=>false,
“映射”=>false,
));
$builder->addEventListener(FormEvents::SUBMIT,函数(FormEvent$event)使用($myformentity){
$form=$event->getForm();
如果($form->get('mycheckbox')->getData()){
//删除$myformentity->mycollection中的某些实体
}
});
}
问题是,即使正确删除了实体并且在删除后正确完成了验证,删除的实体仍然会被验证,表单提交也会失败


我能做什么?

将您列出的事件类型更改为FormEvents::PRE怎么样_SUBMIT@Nickolaus:如果我这样做,则请求数据尚未绑定。例如,
$form->get('mycheckbox')->getData()
将返回
false
,即使选中了该复选框。将列出的事件类型更改为FormEvents::PRE如何_SUBMIT@Nickolaus:如果我这样做,则请求数据尚未绑定。例如,
$form->get('mycheckbox')->getData()
将返回
false
,即使选中该复选框也是如此。