将错误消息从控制器传递到 zf2 中查看
Pass error message from controller to view in zf2
我在 zf2 中有简单的登录。当 username/password 不匹配时,我想向用户显示错误消息错误。
在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;
但是这里link没有去login/index。而是转到 login/process。 process是处理登录的action。
请朋友们帮帮我。我想将错误消息从控制器传递给视图。那我应该怎么做呢
只需将您的登录过程代码放入您的登录索引操作中,不需要为此设置两个操作。当您处理完您的登录并确定登录失败时,只需将您的错误消息传递给您的视图模型并将其显示在您的视图中。这可以通过多种方式完成。
$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',
);
我在 zf2 中有简单的登录。当 username/password 不匹配时,我想向用户显示错误消息错误。
在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;
但是这里link没有去login/index。而是转到 login/process。 process是处理登录的action。
请朋友们帮帮我。我想将错误消息从控制器传递给视图。那我应该怎么做呢
只需将您的登录过程代码放入您的登录索引操作中,不需要为此设置两个操作。当您处理完您的登录并确定登录失败时,只需将您的错误消息传递给您的视图模型并将其显示在您的视图中。这可以通过多种方式完成。
$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',
);