Laravel 5.6 Auth登录页面错误未显示刀片

时间:2018-05-28 22:15:55

标签: php laravel laravel-blade

我正在学习Laravel 5,我已经为用户登录编写了以下代码。我不在LoginController.php文件中使用sendFailedLoginResponse函数。现在我正在尝试使用以下代码显示验证错误消息:

@if($errors->any())
     <div class="alert alert-danger">
           <ul>
               @foreach ($errors->all() as $error)
                     <li>{{ $error }}</li>
                @endforeach
            </ul>
      </div>
@endif

但没有任何显示。

routes.php文件

Auth::routes();

Route::group(['middleware' => 'auth'], function () {
Route::get('/', 'HomeController@index')->name('dashboard');

      Route::get('logout', function () {
           Auth::logout();
           return redirect(route('dashboard'));
      });  
 });

login.blade.php表格

<form id="loginForm" method="post" action="{{ url('login') }}" class="login-form">
            {!! csrf_field() !!}
            <div class="form-group form-group-username">
                <label for="login-form-username">E-MAIL</label>
                <input type="text" id="email" name="email" class="form-control" required="required" placeholder="E-mail adresinizi girin">
            </div>
            <!-- /.form-group -->
            <div class="form-group form-group-password">
                <label for="login-form-password">ŞİFRE</label>
                <input id="password" type="password" name="password" class="form-control" autocomplete="off" required="required" placeholder="Lütfen şifrenizi girin">
            </div>
            <!-- /.form-group -->
            <div class="form-group form-group-button">
                <button type="submit" id="loginSend" class="button">Oturum Aç</button>
            </div>
            <!-- /.form-group -->
            <div class="login-form-reset-link">
                <a href="http://segments-demo.wearecodevision.com/reset-password/">
                    Şifrenizi mi unuttunuz?         </a>
            </div>
            <!-- /.login-form-reset-link -->
        </form>

Kernel.php

Kernel.php文件如下所示。你错过了还是太多了?

   protected $middleware = [
    \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
    \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
    \App\Http\Middleware\TrimStrings::class,
    \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
    \App\Http\Middleware\TrustProxies::class,
    \App\Http\Middleware\EncryptCookies::class,
    \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
    \Illuminate\Session\Middleware\StartSession::class,
    \Illuminate\View\Middleware\ShareErrorsFromSession::class,
    \App\Http\Middleware\VerifyCsrfToken::class,
];

protected $middlewareGroups = [
    'web' => [
        \App\Http\Middleware\EncryptCookies::class,
        \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
        \Illuminate\Session\Middleware\StartSession::class,
        // \Illuminate\Session\Middleware\AuthenticateSession::class,
        \Illuminate\View\Middleware\ShareErrorsFromSession::class,
        \App\Http\Middleware\VerifyCsrfToken::class,
        \Illuminate\Routing\Middleware\SubstituteBindings::class,
    ],

    'api' => [
        'throttle:60,1',
        'bindings',
    ],
];

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。经过四处探索,我从'web'的 $ middlewareGroups 中删除了 \ Illuminate \ Session \ Middleware \ StartSession :: clas 在app \ http \ kernel.php中。

protected $middlewareGroups = [
        'web' => [
            \App\Http\Middleware\EncryptCookies::class,
            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
            \Illuminate\Session\Middleware\StartSession::class, // <-- Remove this
            \Illuminate\View\Middleware\ShareErrorsFromSession::class,
            \App\Http\Middleware\VerifyCsrfToken::class,
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
        ],

        'api' => [
            'throttle:60,1',
            'bindings',
        ],
    ];