我是Laravel的新手,并使用laravel版本5.2.
我分别创建了一个名为ArticlesController和CreateArticleRequest的控制器和请求,并定义了一些验证规则.
CreateArticleRequest
'required|min:3', 'body' => 'required|max:400', 'published_at' => 'required|date', ]; } }
ArticlesController
all()); return redirect('articles/'); } }
当我在名为add.blade.php的模板中使用$ errors变量时,它显示错误未定义变量:$ errors 我试图解决问题,但我没有.请告诉我我错在哪里. add.blad.php
{{ var_dump($errors) }}
这是5.2升级的一个突破性问题.正在发生的是中间件,它负责使errors
所有视图可用的变量未被利用,因为它已从全局中间件转移到web
中间件组.
有两种方法可以解决这个问题:
在您的kernel.php
文件(app/Http/Kernel.php)中,您可以将其middleware \Illuminate\View\Middleware\ShareErrorsFromSession::class
移回protected $middleware
属性.
web
使用路由组包装所有路由并将Web中间件应用于它们:
Route::group(['middleware' => 'web'], function() { // Place all your web routes here...(Cut all `Route` which are define in `Route file`, paste here) });
从这篇文章复制Laravel 5.2 $错误没有出现在Blade中