Muh*_*eem 12 php laravel laravel-5.2
我是Laravel的新手,并使用laravel版本5.2.
我分别创建了一个名为ArticlesController和CreateArticleRequest的控制器和请求,并定义了一些验证规则.
CreateArticleRequest
<?php
namespace App\Http\Requests;
use App\Http\Requests\Request;
class CreateArticleRequest extends Request
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'title' => 'required|min:3',
'body' => 'required|max:400',
'published_at' => 'required|date',
];
}
}
Run Code Online (Sandbox Code Playgroud)
ArticlesController
<?php
namespace App\Http\Controllers;
use App\Article;
//use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Carbon\Carbon;
use App\Http\Requests\CreateArticleRequest;
class ArticlesController extends Controller
{
public function add(){
return view('articles.add');
}
public function create_article_row(CreateArticleRequest $request){
Article::create($request->all());
return redirect('articles/');
}
}
Run Code Online (Sandbox Code Playgroud)
当我在名为add.blade.php的模板中使用$ errors变量时,它显示错误未定义变量:$ errors 我试图解决问题,但我没有.请告诉我我错在哪里. add.blad.php
{{ var_dump($errors) }}
Run Code Online (Sandbox Code Playgroud)
sma*_*hat 30
这是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)
});
Run Code Online (Sandbox Code Playgroud)从这篇文章复制Laravel 5.2 $错误没有出现在Blade中
Posting this as it might be useful for others,
正如 Praveen 在第一个解决方案中提到的,在您的Kernel.phpfile( ) 中
从属性app/Http/Kernel.php移动,但同样会开始抛出错误“会话存储未根据请求设置”,\Illuminate\View\Middleware\ShareErrorsFromSession::class$middlewareGroupsprotected $middleware
也解决这一举动
\Illuminate\Session\Middleware\StartSession::class,。$middleware property
| 归档时间: |
|
| 查看次数: |
22472 次 |
| 最近记录: |