我正在学习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',
],
];
答案 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',
],
];