【发布时间】:2016-03-28 23:56:57
【问题描述】:
我在 Laravel 5.2 中的验证遇到了一些问题 当我尝试像这样在控制器中验证请求时
$this->validate($request, [
'title' => 'required',
'content.*.rate' => 'required',
]);
验证器捕获错误,但不要将它们存储到会话中,所以当我尝试在模板中调用此代码时
@if (isset($errors) && count($errors) > 0)
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
Laravel 报错
Undefined variable: errors (View: /home/vagrant/Code/os.dev/resources/views/semantic/index.blade.php)
当我尝试使用此代码进行验证时
$validator = Validator::make($request->all(), [
'title' => 'required',
'content.*.rate' => 'required'
]);
if ($validator->fails()) {
return redirect()
->back()
->withInput($request->all())
->withErrors($validator, 'error');
}
变量 $error 在模板中也不可用,但如果我尝试在控制器中显示错误
if ($validator->fails()) {
dd($validator->errors()->all());
}
错误显示,但我无法从模板访问它们。
怎么了?
【问题讨论】:
-
尝试 "->withErrors($validator, 'error');"没有“错误”所以:->withErrors($validator);
-
在 v5.2 中,您只需将 Route 放入: Route::group(['middleware' => ['web']], function () { // 在此处添加您的路由 });
标签: laravel laravel-validation laravel-5.2