我刚刚安装了带有laravel new name
的Laravel,这是最后一个版本。它给我带来了一个错误,但在进行composer更新时,它完成了安装。
现在我有了一个完整表单的视图,我想进行验证。一切都很顺利,但错误和输入变量在视图中为空(它们在控制器中不是空的)。
我检查了Kernel.php中的ShareErrorsFromSession类:
protected $middlewareGroups = [
'web' => [
'App'Http'Middleware'EncryptCookies::class,
'Illuminate'Cookie'Middleware'AddQueuedCookiesToResponse::class,
'Illuminate'Session'Middleware'StartSession::class,
'Illuminate'View'Middleware'ShareErrorsFromSession::class,
'App'Http'Middleware'VerifyCsrfToken::class,
],
'api' => [
'throttle:60,1',
],
];
我的路线是这样的:
Route::group(['middleware' => ['web']], function () {
Route::auth();
Route::get('/', [
'as' => 'home',
'uses' => 'InscripcionController@index'
]);
Route::post('/inscrito', [
'as' => 'nueva_inscripcion',
'uses' => 'InscripcionController@store'
]);
Route::get('/redireccion', [
'as' => 'redireccion',
'uses' => 'InscripcionController@redireccion'
]);
});
控制器工作良好:
$validRules = array( 'razonSocial' => 'required' );
$validator = Validator::make($request->all(), $validRules);
//return json_encode($validator->errors(), JSON_PRETTY_PRINT);
if ($validator->fails()) {
return redirect()->back()->withErrors($validator)->withInput();
}else{
$input = $request->all();
Inscripcion::create($input);
return redirect()->route('redireccion');
}
在视图中,我尝试调用$errors-var,但它完全为空,与old('nombre')
相同。
我该怎么解决这个问题??我很匆忙,没有什么想法。
在控制器中尝试
return redirect()->back()->withErrors($validator->errors())->withInput();
而不是:
return redirect()->back()->withErrors($validator)->withInput();