当前位置:  开发笔记 > 前端 > 正文

Symfony2的.如何让表单忽略额外的字段?

如何解决《Symfony2的.如何让表单忽略额外的字段?》经验,为你挑选了1个好方法。

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

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

"此表单不应包含额外字段"

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

也许存在这样做的另一种方式?

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

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



1> 小智..:

在您的表单类型中:

    /**
     * @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将使您的表单能够接收额外的数据

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有