I have a form with a series of numbers in an array:
$valid = Validator($request->all(), [
'type' => 'required|string|in:city,region,country',
]);
if ($valid->fails()) return response()->json($valid->errors(), 400);
I think you need a custom validation rule like the following because min is not for the elements of the array.
Validator::extend('check_array', function ($attribute, $value, $parameters, $validator) {
return count(array_filter($value, function($var) use ($parameters) { return ( $var && $var >= $parameters[0]); }));
});
You can create ValidatorServiceProvider and you can add these lines to boot method of ValidatorServiceProvider. Then you need to add Provider to your providers array in config/app.php.
App\Providers\ValidatorServiceProvider::class,
Or you just add them top of the action of your controller.
At the end you can use it like this in your validation rules.
'items' => 'check_array:1',
Note: if I understand you correctly it works.