0

我有以下登录代码:

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' => 'Field :field can not be空”,密码字段相同)。这两个规则在错误的情况下正常工作。但是当用户名和密码都给出并且用户没有被验证为“有效”(例如错误的密码或输入错误的用户名)时,我需要一个自定义错误消息(例如:'检查用户名或密码,可能按下了 CAPSLOCK')。如何实现这一点?我不希望它与 login.php 字段中的所有消息一样仅与一个字段相关。请帮忙

4

2 回答 2

1

然后回答您的问题:这是出于用户目的的额外错误消息。这不是一个或模型属性(用户名、密码)的特定错误,因此它属于您的控制器。

只需在您的控制器中,检查用户是否已登录并回显错误。

if (!Auth::instance()->login($_POST['username'], $_POST['password'], $_POST['autologin'])) 
{
    echo 'Check username or password, Maybe CAPSLOCK is pressed';
}
于 2013-03-22T10:46:57.797 回答
0

根据文档,如果您在没有定义模板的情况下调用 $validation->errors() ,它会给您返回一个错误数组,然后您可以查看 $errors 数组并确定您得到什么样的错误,并做出适当的反应

于 2013-03-21T19:00:18.717 回答