vue在不使用表单的情况下,提交数据(大量字段)的判空方法:
该方法允许提交的数据有对象跟数组,对象可以嵌套子对象,数组只能是简单形式的数组,如[1,2,3]
requiredParams(target,requiredObj){
for(let i in requiredObj){
// Array
if(Array.isArray(target[i])){
if(!target[i].length){
this.$message.warning(`${requiredObj[i]} cannot be empty`)
return false
}
}
// Object
else if(Object.prototype.toString.call(target[i]) === '[object Object]'){
let current = this.requiredParams(target[i],requiredObj[i])
if(current===false){
return false
}
}
// val
else if(!target[i]){
this.$message.warning(`${requiredObj[i]} cannot be empty`)
return false
}
}
},
该方法i调用:
// 校验
// key:v-model的字段名,对应this.postData的key
// requiredObj[key]:为空的提示字段名
let requiredObj = {
activityNo: "Activity Number",
languageCode: "Select Language", // this.postData.languageCode == ["en","es"]
en:{
title: "Activity title_en",
descript: "Activity description-en",
},
positiveOpinions:{
opinionContentEn: "Initiator1 opinion_en",
},
}
let flag = this.requiredParams(this.postData, requiredObj)
if(flag===false){
return false
}