在 Laravel 5 中的视图中使用 $errors 时出现 ErrorException

ErrorException when using $errors in view in Laravel 5

我认为有以下代码

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

我希望 $errors 对我的视图可用,所以我想显示它们

但是,此块抛出以下异常:

ErrorException in 958ab466b0f563093a9e18c3ff070466cc69459a.php line 38: Undefined variable: errors (View: .....filename.blade.php

对于 Laravel 5.2,请确保将您的路由放在 web 中间件组中,如下所示:

Route::group(['middleware' => ['web']], function () {
    // Add your routes here
});

我在这里写了更多 in-depth 解释为什么会这样:Laravel 5.2 validation errors

简而言之,Laravel 5.0 和 5.1 曾经自动 运行 多个中间件。其中一个中间件 (\Illuminate\View\Middleware\ShareErrorsFromSession) 用于将 $errors 变量自动注入到您的所有视图中。 Laravel 5.2 现在使这一切成为可选的,但您只需将路由放在 web 中间件组中即可达到相同的效果。