Laravel 的 withInput() 和 withErrors() 为空
Laravel's withInput() and withErrors() are empty
我有一个 laravel 表单,它通过 POST 请求向控制器提交数据,就像这样...
public function store()
{
$result = Validator::make(request() -> all(), $this -> rules);
if ($result -> fails())
{
return back() -> withInput() -> withErrors($result);
}
}
然而,当我被重定向回来时,通过 'old' 辅助方法 returns 没有访问输入数据,从 $errors 读取数据也是如此。
我认为会话数据正在丢失(可能是由于二次重定向?)。
我在 artisan 中检查了我的路由文件,web 中间件只在路由上 运行 一次。我也在使用数据库会话驱动程序。
有什么想法吗?我正在使用 Laravel 5.2.39
使用
return redirect()->back()->withInput()->withErrors($result);
试试这个 return 返回有错误的输入
$validator = Validator::make($request->all(), $rules);
if ($validator->fails()) {
// fails, then return false
return redirect()->back()->withErrors($validator->messages())->withInput($request->all());
}
原来这个问题与我使用 Bootstrap Validator 有关。我仍然需要弄清楚为什么,但它似乎在擦东西...
最近我遇到了这个错误,我找到了解决办法...
而不是把你的路线放在里面
Route::group(['middleware' => ['web']], function () { });
只需将其删除即可正常使用。它就像 'web' 中间件正在加载两次。
我有一个 laravel 表单,它通过 POST 请求向控制器提交数据,就像这样...
public function store()
{
$result = Validator::make(request() -> all(), $this -> rules);
if ($result -> fails())
{
return back() -> withInput() -> withErrors($result);
}
}
然而,当我被重定向回来时,通过 'old' 辅助方法 returns 没有访问输入数据,从 $errors 读取数据也是如此。
我认为会话数据正在丢失(可能是由于二次重定向?)。
我在 artisan 中检查了我的路由文件,web 中间件只在路由上 运行 一次。我也在使用数据库会话驱动程序。
有什么想法吗?我正在使用 Laravel 5.2.39
使用 return redirect()->back()->withInput()->withErrors($result);
试试这个 return 返回有错误的输入
$validator = Validator::make($request->all(), $rules);
if ($validator->fails()) {
// fails, then return false
return redirect()->back()->withErrors($validator->messages())->withInput($request->all());
}
原来这个问题与我使用 Bootstrap Validator 有关。我仍然需要弄清楚为什么,但它似乎在擦东西...
最近我遇到了这个错误,我找到了解决办法... 而不是把你的路线放在里面
Route::group(['middleware' => ['web']], function () { });
只需将其删除即可正常使用。它就像 'web' 中间件正在加载两次。