Symfony 2如何允许表单忽略多余的字段?

问题描述

在您的表单类型中:

    /**
     * @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将使您的形式接收额外的数据

解决方法

我需要将一些数据发布到我的Symfony表单中,并submit()为此使用方法。

但是当请求包含一些额外的数据时,我得到了错误:

“此表单不应包含其他字段”

是否可以使用表单配置让表单错过额外的数据?

也许存在另一种方法?

注意:
我需要submit()方法,不是handleRequest()因为我通过跨域ajax请求发布数据,所以不能以这种方式提交表单。原因:isValid()return
false,因为isSubmitted()return false。

PS 当然,我可以创建将在将请求传递给表单之前处理我的请求的服务,但是也许存在更优雅的方式。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...