我有以下登录代码:
if ($logged == true) {
HTTP::redirect('profile/private');
} else {
$validation = Validation::factory($_POST)
->rule('username', 'not_empty')
->rule('password', 'not_empty');
if ($validation->check()) {
}
$errors = $validation->errors('login');
这里的情况是如果没有输入用户名,将播放正确的消息(我在消息文件夹中的login.php文件中有消息,例如:'username'=> array('not_empty'=>'字段:字段不能为空',密码字段相同)。并且两个规则正常运行时出错。 但是当给出用户名和密码并且用户未被认证为“有效”(例如错误的密码或错误的用户名)时,我需要一条自定义错误消息(例如:'检查用户名或密码,可能按下CAPSLOCK')。怎么做到这一点?错误消息我不希望它只与一个字段相关,就像login.php字段中的所有消息一样。请帮忙
答案 0 :(得分:1)
然后回答您的问题:这是一条额外的错误消息,供用户使用。这不是一个或您的模型属性(用户名,密码)的特定错误,因此它属于您的控制器。
只需在您的控制器中,检查用户是否已登录并回显错误。
if (!Auth::instance()->login($_POST['username'], $_POST['password'], $_POST['autologin']))
{
echo 'Check username or password, Maybe CAPSLOCK is pressed';
}
答案 1 :(得分:0)
根据documentation如果你调用$ validation-> errors()没有定义模板,它会给你一个错误数组,然后你可以看看$ errors数组并确定哪种类型你得到的错误,并做出适当的反应