Laravel 4 登录凭据不匹配不会发回错误数据

Laravel 4 Login Credentials mismatch does not send back error data

一切正常,登录、验证和 Username/Password 组合不匹配,除了不匹配外,它不会发回我发送的数据。 这是我的代码,我尝试了不同的登录技术,但同样的问题。

这是我的 blade 页面错误部分:

    <div id="formErrorDiv">
        @if ($errors->has())
            <h2>* Please check your errors.</h2>
        @endif
        @if (isset($mismatch))
            <h2>* {{ $mismatch }}</h2>
        @endif
    </div>

虽然用于字段验证的 $errors-has() 完美运行,但 $mismatch 变量始终为空。

这是我的控制器登录部分:

        if($auth){
            return Redirect::intended('/');
        } else {
            //dd('auth else');
            $mismatch = 'Login Credentials Error.';
            return Redirect::route('account-sign-in')
                    ->with('mismatch', $mismatch);
        }

虽然当我使用 dd('auth else') 它确实有效,所以它进入了 else 部分,但总是不发送任何重定向。

您需要使用 Session::get() 来检索您通过 with() 传递的值:

@if(Session::has('mismatch'))
    <h2>* {{ Session::get('mismatch') }}</h2>
@endif

errors 是这里的例外。因为将它传递给下一个视图是很常见的,所以 Laravel 内置了它,因此会话中的 errors 变量在您的视图中自动可用...