我需要将一些数据发布到我的Symfony表单中,并使用submit()
方法.
但是当请求包含一些额外的数据时,我收到了错误:
"此表单不应包含额外字段"
是否可以使用表单配置让表单错过额外的数据?
也许存在这样做的另一种方式?
注意:我需要submit()
方法,不是handleRequest()
因为我通过跨域ajax请求发布我的数据,所以表单不能以这种方式提交.原因:isValid()
退货false
,因为isSubmitted()
退货错误.
PS当然,我可以创建服务,在将其传递给表单之前处理我的请求,但可能存在更优雅的方式.
在您的表单类型中:
/** * @param OptionsResolver $resolver */ public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults(array( 'data_class' => 'AppBundle\Entity\YourEntity', 'translation_domain' => strtolower('entity_translation_domain'), 'allow_extra_fields' => true, )); }
这allow_extra_fields
将使您的表单能够接收额外的数据