从控制器传递错误消息以在zf2中查看
问题描述:
我有zf2中的简单登录。当用户名/密码不匹配时,我想向用户显示错误消息错误。从控制器传递错误消息以在zf2中查看
鉴于/ login.php中:
if (isset($error_msg))
{
echo $error_msg;
}
在控制器我有:
$msg = array('error_msg' => 'Invalid Username or Password');
return $this->redirect()->toRoute('login', $msg);
这里ERROR_MSG无法通过查看,有什么问题呢?
而且我也尝试
$model = new ViewModel(array(
'error_msg' => 'Wrong username or password',
));
$model->setTemplate('login/index');
return $model;
但这里的链接没有去登录/索引。而是去登录/处理。进程是处理登录的操作。
请帮我的朋友。我想从控制器传递错误消息来查看。所以我应该怎么做。
答
只要将您的登录过程代码放入您的登录索引操作中,就无需为此执行两个操作。处理完登录并确定失败后,只需将错误消息传递给视图模型并将其显示在视图中即可。这可以通过几种方式完成。
$viewModel = new ViewModel();
$viewModel->error_msg = 'Wrong username or password';
return $viewModel;
return new ViewModel(array(
'error_msg' => 'Wrong username or password',
));
或者干脆
return array(
'error_msg' => 'Wrong username or password',
);
+0
Ayaz,如果问题解决与这个答案,请标记为正确的。 – edigu
你并不需要为这个重定向。只需使用当前视图来显示错误。 – akond
那么,怎么样?代码请 – Skylink