Laravel表单验证,为什么我的视图中没有可用的$ errors变量?

时间:2016-07-01 11:19:55

标签: php validation laravel view

取自lrvl 5.1文档,我读到: 在控制器中使用这些行:

$this->validate($request, [
    'title' => 'required|unique:posts|max:255',
    'author.name' => 'required',
    'author.description' => 'required',
]);

如果验证未通过控制器停止执行并重定向回到上一个位置。

这种情况正确发生。

然后医生说: “每个请求的所有视图中都会提供$ errors变量”

然后建议使用以下刀片代码:

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

但实际上我会得到一个ErrorException未定义变量错误....

我错过了什么?

由于

1 个答案:

答案 0 :(得分:1)

我会回答这个问题, 以防万一评论解决方案尚不清楚。 (感谢train_fox提示)。

添加'web'中间件用法。 在您的路由中,是表单操作中的目标(获取/发布)

示例:

Route::group(['middleware' => 'web'],       
       function(){
          Route::post('/edit'           , 'My_Controller@edit');
       });

在要解析的视图上可用的变量$ errors。