Laravel5 + dropzone js файлы не проходят валидацию?

Добрый день! Использую для загрузки файлов библиотеку dropzone.js и все работает на ура если не использовать валидацию ларавел для загружаемых файлов. Ниже приведу код валидации и метода загрузки

public function upload(UplloadNewGalleryFiles $request)
    {
        $input = $request->all();
        $gallery = new gallery();
        $title = $input['title'];
        $directoryName = parent::randomName(24);
        $disk = Storage::disk('gallery');

        if($disk->makeDirectory($directoryName))
        {
            $gallery->title = $title;
            $gallery->folder = "images/gallery/$directoryName";
            $gallery->created_at = Carbon::now();
            $gallery->save();
        }

        foreach( $input['file'] as $file )
        {
            $ext = $file->getClientOriginalExtension();
            $name = parent::randomName(24) . ".$ext";
            $file->move( "images/gallery/$directoryName" , $name);

            $galleryFile = new files();
            $galleryFile->gallery = $title;
            $galleryFile->name = $name;
            $galleryFile->extention = $ext;
            $galleryFile->created_at = Carbon::now();
            $galleryFile->save();
        }
    }

 public function rules()
    {
        return [
            'title' => 'unique:gallery,title',
            'file' => 'required|mimes:jpeg,bmp,png',
            //
        ];
    }

{"file":["The file must be a file of type: jpeg, bmp, png."]}

Все загружаемые файлы имеют расширение jpeg, где скрыт подвох? Спасибо большое!
  • Вопрос задан
  • 377 просмотров
Решения вопроса 1
wielski
@wielski
✔ Совет: Вам помогли? Отметьте ответы решением.
Для работы с массивами в валидации существует волшебная "звездочка".
В вашем случае проверить каждый файл в массиве $request->file -
$this->validate($request, [
   'file.*' => 'required|mimes:jpeg,bmp,png'
]);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы