除了多页表单之外,使用Zend_Form_Subform的一些实际原因是什么?

时间:2012-03-17 02:55:28

标签: zend-framework

我已经阅读了关于子表单的ZF文档,除了多页表单之外,我不确定是否应该使用zend_form_subform或只是有一个更大的子表单来合并我表单的所有元素。假设我有一个表单来创建用户对象,并且有一些不同的字段集,例如联系信息,个人信息和帐户选项。这是否适合子表单?或者我会过度复杂化?

2 个答案:

答案 0 :(得分:1)

子表单非常适合重复元素块,例如一组发票行,或客户的发货和发票地址。 它们也可以用于多页表单,其中每个页面显示一个子表单。您还可以使用它按照它们所代表的内容对多个元素进行逻辑分组。它可以使提取表单值的一部分变得容易得多(例如只有联系信息)。

总之;如果你的表单变得很大或很复杂,那么将它分成子表单肯定是个好主意。

答案 1 :(得分:1)

对于子表单,关键参数 - 对我来说只有参数 - 是验证。您可以单独验证子表单,最后验证整个表单。

如果你有类似的元素,你可以在表单类中轻松创建一个函数,返回一个具有预设设置的元素,甚至可以创建自己的元素类。如果要对元素进行分组,则可以执行相同的操作,即创建函数或类,但是返回一个displayGroup,因为它会创建要在HTML中显示的字段集。