Palych_tw
@Palych_tw
Типа веб-разработчик

Почему FormRequest в Laravel выбрасывает ValidationException вместо массива с ошибками?

Всем привет. Есть, например, post маршрут описанный в api.php. Есть обычный контроллер и обычный FormRequest. Отправляю Postman'ом json и, если, поля невалидные, то вместо массива "поле => ошибка" выбрасывается исключение
Illuminate \ Validation \ ValidationException
The given data was invalid.

Request
class CreateOrUpdateRequest extends FormRequest
{
    public function authorize()
    {
        return true;
    }

    public function rules()
    {
        return [
            'firstName'          => 'required|string|between:2,255',
            'lastName'           => 'required|string|between:2,255',
        ];
    }
}


Контроллер
class MyController extends Controller
{
    public function create(CreateOrUpdateRequest $request)
    {
        dd($request->all());
    }
}

Ну и результат
5c04eba87f5ff141334094.png
  • Вопрос задан
  • 1189 просмотров
Решения вопроса 1
@Yadalay
Php, Mysql, Html, Css, Js/Jquery/Ajax, Laravel
https://laravel.com/api/5.7/Illuminate/Foundation/...
Добавьте в файл метод failedValidation() для обработки ошибок.
---
Может, данная статья поможет.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
JhaoDa
@JhaoDa
LaravelRUS Team
Потому что так он устроен. Это исключение должно перехватываться обработчиком ошибок и он уже сгенерирует нужный ответ — json или редирект. Что вы там такое понаписали, что он этого не делает — вопрос к вам.

Документацию не читаете по идеологическим причинам или религиозным?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы