Как в Laravel при сохранении файлов получить общий текст ошибки
Имеется контроллер FileController, который с клиента
<input type="file"
v-on:change.prevent="upload($event.target.files)"
multiple
/>
<script>
async upload(files) {
let formData = new FormData();
for (let i = 0; i < files.length; i++)
{
formData.append('files[]', files[i]);
}
await axios.post('/file/upload', formData, {headers: {'Content-Type': 'multipart/form-data'}})
.then(response => {})
.catch(error => {
this.$store.dispatch('FormErrors/fill', error.response.data.errors);
console.log(error.response.data.errors)
});
},
</script>
получает файлы
public function upload (ImageRequest $request)
{
$this->uploadMultiple($request->file('files'));
}
В теле метода создается экземпляр модели File, а файл физически записывается на диск. Здесь все работает.
В качестве валидатора использую ImageRequest, созданный стандартными средствами Laravel. В нем присутствует условие:
'files.*' => 'mimes:jpg,jpeg,png|max:1'
Если при сохранении файлов они не проходят валидацию то я вижу следующее:

Но хотелось бы получать один общий ответ для всех файлов в следующем виде:
Каким образом возможно сделать такое? Спасибо!
Ответы (1 шт):
Спасибо всем, выход нашел на клиентской стороне следующим кодом:
let unique = [...new Set(Object.values(data).flat())];
В data приходит исходный объект errors. На выходе получаю одномерный массив с уникальными значениями
