Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

simplenotezy's avatar

FormRequest failed validation returns 500 error instead of 422 with errors (after 5.2 upgrade)

After updating from L5.1 to L5.2, I no longer receive a JSON object as response on a failed FormRequest (i.e. on an AJAX post request).

Usually I would receive a 422 response like:

[
    email: 'E-mail is invalid',
    firstname: 'Firstname must be at least 2 characters'
]

But now I receive a 500 error page:

500 response page

I have ensured that my AJAX calls have application/json as Accept header.

Update

And no, I am not manually catching this exception. I am using the default FormRequest that Laravel provides. As they state in documentation: When using the validate method during an AJAX request, Laravel will not generate a redirect response. Instead, Laravel generates a JSON response containing all of the validation errors. This JSON response will be sent with a 422 HTTP status code.

Like so: php artisan make:request StoreBlogPostRequest (https://laravel.com/docs/5.1/validation#form-request-validation)

0 likes
1 reply

Please or to participate in this conversation.