Так что в основном я работал над простой системой загрузки с laravel.Но теперь проблема заключается в проверке запроса. Я пытаюсь проверить, соответствует ли загрузка некоторым требованиям. Если это не так,
- отправляет http-код состояния 422 (что означает необработанный объект) и * 1004.*
- отправить ошибки валидатора, например,
Title field is required
.
Проблема в том, что я не могу заставить его оба .
Если яиспользуйте этот код (с ->setStatusCode(422)
):
if (isset($request->validator) && $request->validator->fails())
{
return back()
->withInput()
->setStatusCode(422)
->withErrors($request->validator->errors());
//return back()->withError($request->validator->errors())->setStatusCode(422);
}
Он отправляет правильный код состояния , но не отправляет ошибки Он показывает только это:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta http-equiv="refresh" content="0;url=http://localhost:8000/dashboard/posts/create/?type=image" />
<title>Redirecting to http://localhost:8000/dashboard/posts/create/?type=image</title>
</head>
<body>
Redirecting to <a href="http://localhost:8000/dashboard/posts/create/?type=image">http://localhost:8000/dashboard/posts/create/?type=image</a>.
</body>
</html>
..... что бы это ни значило.
Но если я опущу ->setStatusCode(422)
(или закомментирую) в коде как:
if (isset($request->validator) && $request->validator->fails())
{
return back()
->withInput()
//->setStatusCode(422)
->withErrors($request->validator->errors());
//return back()->withError($request->validator->errors())->setStatusCode(422);
}
Он отправляет правильные ошибки валидаторано отправляет 200
(ОК) http код статуса, который не тот, который я хочу.
Пожалуйста, любые советы будут оценены.