2009-12-02 46 views
1

我正在使用Zend Framework,我即將破解我的一些控制器代碼來做一些似乎應該有一個模式的東西。正確處理由一個控制器和操作生成的多個表單的方法?

當前,當我只有一個表單時,表單的動作指向與生成頁面的動作和控制器相同的動作和控制器。控制器的動作函數然後驗證表單,如果驗證成功,則執行所需的操作。如果驗證失敗,則不執行該操作,並且使用經過驗證的表單重新生成頁面,以便錯誤消息出現在正確的位置。

我現在的情況是,我有一個動作/控制器,爲視圖創建兩個窗體和一個項目列表以供顯示。該視圖顯示列表(例如,用戶列表)並顯示錶單(添加用戶和創建角色 - 僅作爲示例)。什麼是正確的「Zend Framework」方式來處理這個問題?每個表單的動作是否應該指向相同的動作/控制器?如果是這樣,那麼如何處理驗證?

我的猜測(以及我現在要做的事情)是將兩個表單都指向控制器,找出哪個表單已提交,僅驗證該表單,執行驗證操作或重新生成視圖失敗。

回答

2

是的。讓每個表單都有不同的提交名稱,並根據這些名稱進行驗證。但要小心,當你驗證錯誤的表單時,錯誤信息就會出現;所以仔細測試。

0

您可以將兩個表單提交給同一控制器的兩個不同操作,並將列表生成提取到第三個方法,並從indexAction中調用它,並將這兩個表單提交操作。

相關問題