使用laravel和vue js上传多个文件错误未打印
在laravel中使用vue js上传多个文件我的验证如下使用laravel和vue js上传多个文件错误未打印,laravel,validation,vue.js,Laravel,Validation,Vue.js,在laravel中使用vue js上传多个文件我的验证如下 $request->validate([ 'title' => 'required', 'pics.*' => 'required|image|mimes:jpeg,png,jpg,gif' ]); 我的组件如下所示 <template> <div class="col-md-6"> <div class="form-
$request->validate([
'title' => 'required',
'pics.*' => 'required|image|mimes:jpeg,png,jpg,gif'
]);
我的组件如下所示
<template>
<div class="col-md-6">
<div class="form-group">
<label>Title</label>
<input id="title" type="text" ref="myDiv" v-model="title" class="form-control" name="title">
<div v-cloak><label class="error" v-if="errors['title']">{{ errors.title[0]
}}</label></div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label>Upload Files</label>
<input id="uploadfile" type="file" ref="pics" name="pics[]" multiple class="form-control" @change="fieldChange">
<div v-cloak><label class="error" v-if="errors['pics']">{{ errors.pics[0] }}</label></div>
</div>
</div>
</template>
export default {
data(){
return {
attachments:[],
pics : [],
errors: [],
form: new FormData
}
},
methods:{
fieldChange(e){
let selectedFiles=e.target.files;
if(!selectedFiles.length){
return false;
}
for(let i=0;i<selectedFiles.length;i++){
this.attachments.push(selectedFiles[i]);
}
console.log(this.attachments);
},
uploadFile() {
this.errors = [];
this.form.append('img',this.attachments2);
if(this.attachments.length > 0){
for(let i=0; i<this.attachments.length;i++){
this.form.append('pics[]',this.attachments[i]);
}
}else {
this.form.append("pics", '');
}
//this.form.append('')
const config = { headers: { 'Content-Type':
'multipart/form-data' } };
axios.post('/admin/theme/',this.form,config).then(response=>
{
this.pics = [];
}).catch((error) => {
this.errors = error.response.data.errors;
console.log(this.errors.pics);
});
}
},
mounted() {
console.log('Component mounted.')
}
}
标题
{{错误。标题[0]
}}
上传文件
{{errors.pics[0]}
导出默认值{
数据(){
返回{
附件:[],
图片:[],
错误:[],
表格:新表格数据
}
},
方法:{
现场更改(e){
让selectedFiles=e.target.files;
如果(!selectedFiles.length){
返回false;
}
for(设i=0;i=0){
for(设i=0;i
{
this.pics=[];
}).catch((错误)=>{
this.errors=error.response.data.errors;
console.log(this.errors.pics);
});
}
},
安装的(){
console.log('组件已安装')
}
}
如果我单击提交按钮空标题错误打印但多个文件错误未打印,我将得到错误但未打印
pics.0:[“pics.0字段是必需的。”]
但标题字段验证错误会完美打印
请任何人帮助我使用vue js打印多个文件上载错误您只打印第一个错误
错误。title[0]
,如果要打印所有错误,请循环这些错误。this.errors=error.response.data.errors;是创建错误数组并打印所有错误,错误。title[0]打印错误但错误。pics[0]Notlarvel验证错误返回类似于此pics.0:[“pics.0字段是必需的。”]title:[“title字段是必需的。”]