Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 文件数组cann';无法通过服务器(php)进行验证_Javascript_Php_Laravel_Vue.js_Vuejs2 - Fatal编程技术网

Javascript 文件数组cann';无法通过服务器(php)进行验证

Javascript 文件数组cann';无法通过服务器(php)进行验证,javascript,php,laravel,vue.js,vuejs2,Javascript,Php,Laravel,Vue.js,Vuejs2,我正在尝试将以下数据传递到laravel后端: 表格:新表格({ 名称:“”, file2:null, 许可证:[ {name:'',xerox:null}, {name:'',xerox:null}, ] }), 我面临着laravel验证问题。比如,如果我试图借助FormData()发送数据,那么php会收到数组,并可以验证数组元素(即许可证)之外的数据,数组元素也包含对象数组中的附加文件 在后端,它接收如下图像。它不显示附加的许可证图像,除了配置文件图像 以下是代码详细信息,如果需要

我正在尝试将以下数据传递到laravel后端:

表格:新表格({
名称:“”,
file2:null,
许可证:[
{name:'',xerox:null},
{name:'',xerox:null},
]
}),
我面临着laravel验证问题。比如,如果我试图借助FormData()发送数据,那么php会收到数组,并可以验证数组元素(即许可证)之外的数据,数组元素也包含对象数组中的附加文件

在后端,它接收如下图像。它不显示附加的许可证图像,除了配置文件图像

以下是代码详细信息,如果需要,还包括项目的详细信息。 您能告诉我如何将带有附件的数据发送到服务器上吗

示例组件.vue


所选文件:{{l.xerox?l.xerox.name:''}}
提交
从“./core/Form”导入表单;
导出默认值{
数据(){
返回{
表格:新表格({
名称:“”,
file2:null,
许可证:[
{name:'',xerox:null},
{name:'',xerox:null},
]
}),                
孤岛加载:false
}
},
方法:{
handleLicenseFileUpload(字段名、选定文件、索引){
console.log(SelectedFile);
this.form.licenses[index].xerox=SelectedFile;
},
onSubmit(){
this.isLoading=true;
this.form.post(“/candidates”)
。然后(响应=>{
this.response=响应
console.log(response.data.message)
})
.catch((错误)=>{
})
.最后(()=>{
this.isLoading=false
})
},
handleFileUpload(){
this.form.file2=this.$refs.file.files[0];
}
},        
安装的(){
console.log('组件已安装')
}
}
CandidateController.php

公共函数存储(请求$Request)
{
$data=$request->validate([
“名称”=>“必需”,
“文件2'=>”,
'许可证。*.name'=>'必需',
'许可证。*.xerox'=>'必需',
]);
dd($request->all());
Form.js

从“./Errors”导入错误;
班级形式{
建造师(数据){
this.originalData=数据;
for(数据中的let字段){
此[字段]=数据[字段];
}
this.errors=新错误();
}
数据(){
让数据={};
for(让属性在此.originalData中){
数据[属性]=此[属性];
}
返回数据;
}
setFormData(数据){
设formData=new formData();
for(数据中的let字段){
formData.append(字段,数据[field]);
}
返回表单数据;
}
重置(){
for(让字段在此.originalData中){
此[字段]='';
}
this.errors.clear();
}
帖子(url){
返回此。提交('post',url);
}
提交(请求类型、url){
让配置={
标题:{
授权:“sometoken”,
'Content Type':`multipart/form data;boundary=${Math.random().toString().substr(2)}`,
}
}
返回新承诺((解决、拒绝)=>{
axios[requestType](url,this.setFormData(this.data()))
。然后(响应=>{
this.onSuccess(response.data);
解析(response.data);
})
.catch(错误=>{
this.onFail(error.response.data.errors);
拒绝(错误、响应、数据);
});
});
}
onSuccess(数据){
//警报(data.message);//临时
这是reset();
}
onFail(错误){
此.errors.record(错误);
}
}
导出默认表单;