【发布时间】:2016-06-30 23:57:04
【问题描述】:
我目前正在努力解决我自己无法解决的 Laravel 问题。如果我使用 withErrors() 传递错误,则错误不会传递到错误包 ($errors)。
我的控制器(FormController):
public function contact(Request $request) {
$validator = Validator::make($request->all(), [
'name' => 'required',
'email' => 'required|email',
'message' => 'required',
]);
if ($validator->fails()) {
return redirect()->back()->withErrors($validator)->withInput($request->all());
}
return redirect()->back();
}
问题是,withInput() 也不起作用。问题可能来自哪里?感谢您的帮助!
(部分)定义的routes.php:
Route::group(['middleware' => 'web'], function(){
Route::post('/contact', 'FormController@contact');
});
会话配置
return [
'driver' => env('SESSION_DRIVER', 'memcached'),
'lifetime' => 120,
'expire_on_close' => false,
'encrypt' => false,
'files' => storage_path('framework/sessions'),
'connection' => null,
'table' => 'sessions',
'lottery' => [2, 100],
'cookie' => 'session',
'path' => '/',
'domain' => null,
'secure' => false,
];
【问题讨论】:
-
会话对你有用吗?
-
尝试重定向路由或 url 而不是返回
-
@matiit 会话正在处理站点的其余部分。当我使用调试栏检查 POST to contact() 时,会话中出现正确错误的“错误”。
-
@ImtiazPabel 我试过了,但不幸的是这个问题没有任何改变..
-
试试
... ->withErrors($validator->errors())-> ...
标签: laravel laravel-5.2