【发布时间】:2020-07-03 05:20:34
【问题描述】:
我有一个奇怪的 Laravel 行为。如果我用少于 10 个字段来验证我的表单,那么一切正常,包括显示错误消息(例如“field1 is required”):
public function myFctName(Request $request)
{
$validator = Validator::make($request->all(), [
'year' => 'required',
'field1' => 'required',
'field2' => 'required'
]);
if ($validator->fails()) {
return back()->withErrors($validator->errors())->withInput();
}
return view('companiesView');
}
我的表单有 23 个字段。一旦我添加了大约 10 个字段,如果没有验证错误,一切都会正常工作。这是第二个示例代码:
public function myFctName(Request $request)
{
$validator = Validator::make($request->all(), [
'year' => 'required',
'field1' => 'required',
'field2' => 'required',
'field3' => 'required',
'field4' => 'required',
'field5' => 'required',
'field6' => 'required',
'field7' => 'required',
'field8' => 'required',
'field9' => 'required',
'field10' => 'required',
'field11' => 'required',
'field12' => 'required',
'field13' => 'required',
'field14' => 'required'
]);
if ($validator->fails()) {
return back()->withErrors($validator->errors())->withInput();
}
return view('companiesView');
}
如果出现验证错误,重定向 (back()) 仍然有效。但是,没有显示错误消息。
如果我将return back()->withErrors($validator->errors())->withInput(); 行更改为return back()->withErrors($validator->errors());,则会显示错误消息。所以问题一定出在withInput() 函数上。
此外,使用 withInput() 部分后,Chrome 控制台中会出现警告(但在 Firefox 中不会发生):Set Cookie header is ignored in response from url: ... Cookie length should be less than or equal to 4096 characters。在这一点上,我没有积极地对 Cookie 做任何事情。
有谁知道问题出在哪里?
【问题讨论】:
-
先清除浏览器cookie。
-
@SharifMohammadEunus 完成;不幸的是,我仍然遇到同样的错误。
标签: laravel laravel-validation