[11.x] Fluent Array validation

Closed
AH
2y ago
+327-13

This pull request introduces a new fluent array validation class, offering a more elegant and expressive way to define array validation rules.

Before this PR, arrray validation required string-based rules:

$rules = [
    'array' => ['required', 'array', 'min:3', 'max:5', 'list'],
    'array_with_specific_elements' => ['required', 'array:a,b,c']
];

To use the fluent array validation:

use Illuminate\Validation\Rule;

$rules = [
    'array' => [
       'required',
        Rule::array()
            ->min(3)
            ->max(5)
            ->list();
    ],
    'array_with_specific_elements' => ['required', Rule::array(['a', 'b', 'c'])],
];

Available methods

  • distinct(bool $strict = false)
  • max(int $max)
  • min(int $min)
  • between(int $min, int $max)
  • size(int $size)
  • contains($keys)
  • inArray(string $anotherField)
  • list()