在Laravel 5中使用$ errors时出现ErrorError

时间:2016-01-05 08:34:13

标签: php laravel laravel-5 laravel-5.2

我在视图中有以下代码

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

我希望我的视图可以使用$ errors,因此我想显示它们

但是,此块会引发以下异常:

  

958ab466b0f563093a9e18c3ff070466cc69459a.php行中的ErrorException   38:未定义的变量:错误(查看:..... filename.blade.php

1 个答案:

答案 0 :(得分:3)

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

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

我写了一个更深入的解释,为什么会出现这种情况:Laravel 5.2 validation errors

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