Не работает валидация файла. Пробовал копировать кусок кода из гугла (естественно, изменяя под себя). Проблема: не загружает файлы разрешенных расширений. Класс реквеста: PHP: public function rules() { return [ 'ticket_name' => 'required|min:10|max:50', 'ticket_description' => 'required|min:15|max:500', 'ticket_date_off' => 'nullable|date|after_or_equal:now', 'files' => 'array', 'files.*' => 'mimes: jpg, jpeg, png, doc, docx, pdf, txt', ]; } Поле на форме: PHP: <div class="form-group"> <label for="ticket_files">Файлы:</label> <input type="file" name="files[]" multiple> </div> Метод: PHP: if($request->hasFile('files')) { foreach ($request->file('files') as $f) { $filename = time().'_'.$f->getClientOriginalname(); $f->move(public_path() . '/upload/',$filename); $file = File::create([ 'ticket_id' => $ticket->id, 'file' => '/upload/'.$filename, ]); } } При попытке загрузить вообще любой файл (хоть запрещенное, хоть разрешенное расширение) пишет: Поле files.0 должно быть файлом одного из следующих типов: jpg, jpeg, png, doc, docx, pdf, txt.
Ось какая? С этим сложности бывают, поскольку этот валидатор не расширение проверяет https://laravel.com/docs/7.x/validation#rule-mimes А это в свою очередь делается через определённый сервис линукса (если на линуксе), где-то была тут моя темка на этот счёт. Хотя я встречался с проблемами только на docx, xlsx и подобный файлах, потому что это на самом деле zip-архивы, и линь давал для них тип zip. Точно не помню, как вышел из положения. По-моему, не ставил это правило для docx руками, ну и у меня отдача файлов была непрямая, так что в принципе не так это страшно было. Шелл туда было не залить --- Добавлено --- С другими типами файлов проблем не встречал