在zend框架中使用正确的路由重新呈现页面

时间:2012-02-05 00:21:29

标签: zend-framework zend-form

学习使用zend框架,我面临一些小问题。 我用Zend_Form创建一个登录表单,然后在我的Controller中我在我的控制器中调用我的表单

这是我模块的布局

模块:compte
controller:compteController
行动:loginAction

在我的application.ini中,我为我的登录路线创建了一个资源:

resources.router.routes.login.route = / compte / login
resources.router.routes.login.defaults.module = compte
resources.router.routes.login.defaults.controller = compte
resources.router.routes.login.defaults.action = login

然后我调用登录页面就像这个exemple.com/compte/login 问题是,在验证表单时,如果是错误,登录页面再次显示哪个是正确的但是以总路由为例。 COM /孔特/孔特/登录即可。

我的问题是如何更正此问题,以便在表单无效时,表单会在资源管理器中重新显示正确的地址。

提前感谢您的回答

2 个答案:

答案 0 :(得分:0)

表单的操作设置是什么?

也许您需要在视图或控制器中执行$form->setAction('/compte/login');

答案 1 :(得分:0)

你可以做点什么:

if ($form->isValid($_POST) {//This is not real code just for example.

//do some stuff

} else {
    $this->view->errors = $form->getErrors();
    //should go back exactly where you came from
    $this->_redirect($this->getRequest()->getRequestUri());
}