我在zf2中进行了简单的登录。我想在用户名/密码不匹配时向用户显示错误消息错误。
在view / 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无法传递给view,这有什么问题?
此外,我也尝试
$model = new ViewModel(array(
'error_msg' => 'Wrong username or password',
));
$model->setTemplate('login/index');
return $model;
但是这里的链接没有进入登录/索引。而是去登录/处理。 Process是处理登录的操作。
请帮助我的朋友。我想从控制器传递错误消息到视图。那我该怎么做呢。
答案 0 :(得分:2)
只需将登录过程代码放入登录索引操作中,就不需要为此执行两项操作。处理完登录后确定失败后,只需将错误消息传递给视图模型并将其显示在视图中即可。这可以通过多种方式完成。
$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',
);