Laravel validation fails silently on array input
High
production
Laravel
Testing
579
views
12
votes
When passing an array to a form request validator, validation rules like required|string fail silently without returning an error message. This happens when the input is submitted as an array instead of a scalar value.
Steps to reproduce
- Create a FormRequest with
name => required|string - Submit
{"name": ["value"]} - The request passes validation incorrectly
A
Admin User
Jul 28, 2026
Solutions
1
12
A
Admin User
Jul 28, 2026
Add explicit array validation before the string rule, or use Rule::prohibitedIf to reject array inputs.
$validated = $request->validate([
'name' => ['required', 'string', 'max:255'],
'name.*' => 'prohibited',
]);
Have a solution to share?
Sign in to submit a solution