【发布时间】:2012-04-27 12:33:19
【问题描述】:
我将设置一些包含多达 100 个字段的大型表单。
现在我的问题是,是否有一些处理此类表格的最佳做法。
特别是:
- 实体关系
- 表单对象它自己
有人对此类任务有经验吗? 我应该将所有内容放在一个实体、一个表单中,并在子表单中使用 jQuery 进行结构化,还是应该尽可能将属性分组到数组中?
问候, 博多
【问题讨论】:
标签: forms model symfony entity
我将设置一些包含多达 100 个字段的大型表单。
现在我的问题是,是否有一些处理此类表格的最佳做法。
特别是:
有人对此类任务有经验吗? 我应该将所有内容放在一个实体、一个表单中,并在子表单中使用 jQuery 进行结构化,还是应该尽可能将属性分组到数组中?
问候, 博多
【问题讨论】:
标签: forms model symfony entity
虽然官方文档显示了许多直接链接到实体的表单示例,但我认为这不是最好的方法。在极少数情况下,当您的表单具有与您的实体完全相同的字段时,这很好。
您的表单必须代表您在浏览器中获得的内容,因此只有 html 输入/文本区域/选择。我通常会创建一个 formData 类,就像一个实体一样,它包含验证约束并具有与表单相同的结构。
您必须在加载表单之前使用您的持久数据初始化此 formData 对象,并在提交后使用您的 formData 对象更新您的实体...
【讨论】:
我正在创建一些由多个实体构建的复杂表单。我为每个实体create a form class,然后创建一个复合表单类,其中包含我需要的各种表单组合(这在某种程度上类似于 PéCé 的建议)。
如果我不需要所有字段,那很好,因为我可以控制在树枝模板中呈现哪些字段。如果我需要不在表单类中的字段,我可以将它们添加到模板并根据需要处理表单数据。对于所有这些努力,我获得了一些内置的验证和灵活性,可以重用来自多个实体和捆绑包的表单。
【讨论】: