Валидатор Laravel с шаблоном

Я хочу сделать валидатор laravel, который проверяет поля внутри неименованного массива (0,1,2,3), который находится внутри массива

поэтому мой массив похож на

array [ //the form data "items" => array:2 [ //the main array i want to validate 0 => array:2 [ // the inner array that i want to validate its data "id" => "1" "quantity" => "1000" ] 1 => array:2 [ "id" => "1" "quantity" => "1000" ] // other fields of the form, ] ] 

так что я хочу что-то вроде

  $validator = Validator::make($request->all(), [ 'items.*.id' => 'required' //notice the star * ]); 

Laravel 5.2

Синтаксис в вопросе теперь поддерживается

http://laravel.com/docs/master/validation#validating-arrays

Laravel 5.1

Сначала создайте валидатор со всеми вашими другими правилами. Используйте правило array для элементов

 $validator = Validator::make($request->all(), [ 'items' => 'array', // your other rules here ]); 

Затем используйте each метод Validator для применения набора правил к каждому элементу в массиве items.

 $validator->each('items', [ 'id' => 'required', 'quantity' => 'min:0', ]); 

Это автоматически установит эти правила для вас …

 items.*.id => required items.*.quantity => min:0 

https://github.com/laravel/framework/blob/5.1/src/Illuminate/Validation/Validator.php#L261

Вы могли бы просто сделать что-то вроде этого:

  $rules = []; for($i = 0; $i < 10; $i++) { $rules["items.$i.id"] = "required"; } $validator = \Validator::make($request->all(), $rules);