【发布时间】:2018-03-28 02:51:03
【问题描述】:
是否可以为所有 Symfony FormTypes 设置默认值?
我们目前正在开发基于 Symfony (3.3) 的 API 后端。在前端,我们将实体作为对象,如下所示:{"id": 1, "username": "foo" ..... }
如果我们想更新实体,我们 JSON.stringfy 对象并将其发送到服务器。
但是如果我们通过$form->submit($request)将请求绑定到我们的实体
我们得到一个错误(“这个表单不应该包含额外的字段。”)因为我们在表单类型中没有(也不想使用!)“id”。
所以我们必须在每个 FormType 中将 allow_extra_fields 设置为 true
public function setDefaultOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(['allow_extra_fields' => true]);
}
有没有办法将其配置为所有 FormTypes 的默认值(无需扩展自定义 FormType 或类似的东西)?
【问题讨论】:
-
你是如何在你的实体中定义 id 属性的? (在其注释中)。
标签: symfony default symfony-forms