Проверка массива изображений в Laravel 5

Мое приложение позволяет пользователю загружать несколько файлов изображений одновременно, однако я не могу понять, как проверить массив изображений.

$input = Request::all(); $rules = array( ... 'image' => 'required|image' ); $validator = Validator::make($input, $rules); if ($validator->fails()) { $messages = $validator->messages(); return Redirect::to('venue-add') ->withErrors($messages); } else { ... 

Эта проверка не будет выполнена, так как 'image' представляет собой массив, если я изменю правило проверки на:

  $rules = array( ... 'image' => 'required|array' ); 

Проверка будет проходить, но изображения внутри массива не были проверены.

Этот ответ использует каждое ключевое слово для префикса правил проверки, однако это в laravel 4.2, а в Laravel 5 оно не работает.

Я пытаюсь выполнить итерацию по массиву и проверку на каждом изображении отдельно, но есть ли встроенная функция, чтобы сделать это для меня?

Это работает для меня

 $rules = array( ... 'image' => 'required', 'image.*' => 'image|mimes:jpg,jpeg' ); 

Я использовал технику, аналогичную тому, что рекомендовал Jeemusu и после первоначальной проверки, чтобы убедиться, что массив изображений присутствует, итерации через массив со вторым валидатором, убедившись, что каждый элемент массива на самом деле является образом. Вот код:

 $input = Request::all(); $rules = array( 'name' => 'required', 'location' => 'required', 'capacity' => 'required', 'description' => 'required', 'image' => 'required|array' ); $validator = Validator::make($input, $rules); if ($validator->fails()) { $messages = $validator->messages(); return Redirect::to('venue-add') ->withErrors($messages); } $imageRules = array( 'image' => 'image|max:2000' ); foreach($input['image'] as $image) { $image = array('image' => $image); $imageValidator = Validator::make($image, $imageRules); if ($imageValidator->fails()) { $messages = $imageValidator->messages(); return Redirect::to('venue-add') ->withErrors($messages); } }