簡體   English   中英

Laravel 5.6 Auth Login 頁面錯誤未顯示刀片

[英]Laravel 5.6 Auth Login page errors not showing 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

但沒有顯示。

路由文件

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>

內核.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',
    ],
];

我遇到了同樣的問題。 在這里和那里進行了大量挖掘之后,我通過從 app\\http\\kernel.php 中的“web”的$middlewareGroups中刪除\\Illuminate\\Session\\Middleware\\StartSession::class來解決它。

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',
        ],
    ];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM