У меня странное 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
. На данный момент я ничего не делаю с Cookies.
Кто-нибудь знает, в чем может быть проблема?