вьюха:
{!! Form::open(['route' => 'form_store','files' => true]) !!}
...
{!! Form::file('files[]', ['multiple'=>true, 'data-multiple-caption'=>"{count} files selected"]) !!}
...
контроллер:
public function store(FormRequest $request)
{
foreach ($request->file() as $file) {
foreach ($file as $f) {
$name = md5($f).'.'.$f->getClientOriginalExtension();
$f->move(public_path('files/form/'.$id.'/'), $name);
}
}
}
Request:
public function rules()
{
$rules = [
'name' => 'required',
'contact' => 'required',
'text' => 'required',
'files.*' => 'mimetypes:text/*'
];
return $rules;
}
Проблема в том, что при данных $rules не пропускает .txt, а вот так 'files.*' => 'mimetypes:text/plain' - пропускает.
В правилах нельзя задать с вайлдкардом как вы хотите:
mimetypes:text/*
Тип должен быть из этого списка.
Как альтернативу попробуйте валидатор mimes:
'mimes:txt'
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники