2009-12-02 50 views
1

我正在使用Zend Framework,我即将破解我的一些控制器代码来做一些似乎应该有一个模式的东西。正确处理由一个控制器和操作生成的多个表单的方法?

当前,当我只有一个表单时,表单的动作指向与生成页面的动作和控制器相同的动作和控制器。控制器的动作函数然后验证表单,如果验证成功,则执行所需的操作。如果验证失败,则不执行该操作,并且使用经过验证的表单重新生成页面,以便错误消息出现在正确的位置。

我现在的情况是,我有一个动作/控制器,为视图创建两个窗体和一个项目列表以供显示。该视图显示列表(例如,用户列表)并显示表单(添加用户和创建角色 - 仅作为示例)。什么是正确的“Zend Framework”方式来处理这个问题?每个表单的动作是否应该指向相同的动作/控制器?如果是这样,那么如何处理验证?

我的猜测(以及我现在要做的事情)是将两个表单都指向控制器,找出哪个表单已提交,仅验证该表单,执行验证操作或重新生成视图失败。

回答

2

是的。让每个表单都有不同的提交名称,并根据这些名称进行验证。但要小心,当你验证错误的表单时,错误信息就会出现;所以仔细测试。

0

您可以将两个表单提交给同一控制器的两个不同操作,并将列表生成提取到第三个方法,并从indexAction中调用它,并将这两个表单提交操作。

相关问题