Symfony2:大型表格的最佳实践

时间:2012-04-27 12:33:19

标签: forms model symfony entity

我将设置一些包含多达100个字段的大型表单。

现在我的问题是,是否有一些处理此类表格的最佳做法。

特别是:

  1. 实体关系
  2. 自己形成对象
  3. 有人有这方面的经验吗? 我应该将所有内容放在一个实体,一个表单中,在子表单中使用jQuery构建,还是应该尽可能将属性分组到数组中?

    此致 博多

2 个答案:

答案 0 :(得分:1)

虽然官方文档显示了许多与实体直接相关的表单示例,但我认为这不是最好的方法。在极少数情况下,当您的表单与您的实体具有完全相同的字段时,它会很好。

您的表单必须代表您在浏览器中获得的内容,因此只有html输入/ textearea / select。我通常创建一个formData类,就像一个实体一样,它拥有验证约束并且具有与表单相同的结构。

在加载表单之前,必须使用持久化数据初始化此formData对象,并在提交后使用formData对象更新实体...

答案 1 :(得分:1)

我正在创建一些从多个实体构建的复杂表单。我create a form class为每个实体,然后创建一个复合形式类,其中包含我需要的各种形式的组合(有些类似于PéCé的建议)。

如果我不需要所有字段,那很好,因为我可以控制在树枝模板中呈现哪些字段。如果我需要不在表单类中的字段,我可以将它们添加到模板并根据需要处理表单数据。对于所有这些努力,我获得了一些内置的验证和灵活性,可以重用来自多个实体和bundle的表单。