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


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可以用于我的视图,所以我想显示它们

然而,这个块抛出以下异常:

958ab466b0f563093a9e18c3ff070466cc69459a.php行出现错误异常38:未定义的变量:错误(视图:….filename.blade.php

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

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

我写了一篇更深入的解释,解释为什么会出现这种情况:Laravel 5.2验证错误

简而言之,Laravel 5.0和5.1曾经自动运行过几个中间件。其中一个中间件('Illuminate'View'Middleware'ShareErrorsFromSession)用于将$errors变量自动注入到所有视图中。Laravel 5.2现在让这一切都是可选的,但只需将路由放入web中间件组中,就可以达到同样的效果。