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

  1. Create a FormRequest with name => required|string
  2. Submit {"name": ["value"]}
  3. 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