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