Php Laravel 5.2验证正在工作,但$errors变量为空
我四处寻找类似的问题,尝试了所有答案。验证器检查规则并重新定向。但是$errors变量在我的视图中仍然是空的 控制器:Php Laravel 5.2验证正在工作,但$errors变量为空,php,validation,laravel-5.2,Php,Validation,Laravel 5.2,我四处寻找类似的问题,尝试了所有答案。验证器检查规则并重新定向。但是$errors变量在我的视图中仍然是空的 控制器: public function postSlidesAdd(Request $request) { $validator = Validator::make($request->all(), [ 'priority' => 'required', 'text' => 'required',
public function postSlidesAdd(Request $request)
{
$validator = Validator::make($request->all(), [
'priority' => 'required',
'text' => 'required',
'image' => 'required'
]);
if ($validator->fails()) {
return redirect()->back()->withErrors($validator);
}
//insert to db and redirect back
}
if ($validator->fails()) {
dd($validator->errors());
return back()->withErrors($validator);
}
路线:
Route::group(['middleware' => ['web']], function () {
Route::post('/admin/slides/add', [
'uses' => 'SitesController@postSlidesAdd',
'as' => 'admin.slides.add'
]);
});
视图:
这将转储一个数组“messages”,其中是另一个包含[input names=>error messages]的数组。我认为这是要发送到视图的数组,但它无法通过。请帮助我,我做错了什么。您的视图文件有错误;你有一个额外的括号。尝试更改此选项:
@if(count($errors)>0))
为此:
@if(count($errors) > 0)
return back()->withErrors($validator);
另外,在控制器中,尝试更改:
return redirect()->back()->withErrors($validator);
为此:
@if(count($errors) > 0)
return back()->withErrors($validator);
在
app\Http\Kernel.php
move\illumb\Session\Middleware\StartSession::class
中,从“web”$middlewareGroups
到$Middleware我认为这是$validator->message()
?感谢您的快速响应,但是message()方法在验证器中不存在;噢试着让它messages()
messages方法在课堂上仍然找不到,先生。谢谢您的快速回复。我更新了它,仍然没有$errors中的数据。嗨,先生,我更新了它。还是空的。如果这有什么帮助;在我的控制器中:if($validator->fails()){dd($validator->errors());return back()->withErrors($validator);}它返回一个“messages”数组,其中是另一个带有[input names=>错误消息的数组。请尝试在视图中if语句之前运行{dd($errors)}
,我将它放在@if(isset)中($errors)),否则该视图将不会加载。它返回ViewErrorBag{#182▼ #行李:[]}一个空的阵列您确定发生了有效的错误吗?您提交的表单字段是什么?您的控制器中打印的是什么?