跳到主要内容

校验

2023年02月18日
柏拉文
越努力,越幸运

一、设计思想


二、具体实现


const validateField = (item: object, field: string): boolean => {
if (!item[field]) {
item[field + 'Message'] = '填写内容不能为空!';
return false;
}
item[field + 'Message'] = '填写内容不能为空!';
return true;
},
const validateItem = (item: object): boolean => {
const validateResult = ['name', 'url'].map((v) => methods.validateField(item, v));
const result = validateResult.every((v) => v);
return result;
},
const validateList =(list: []): boolean => {
const validateResult = list.map((v) => methods.validateItem(v));
const result = validateResult.every((v) => v);
return result;
},
function validatePartRule(row,field){
const fieldRule = this.rulesPartRule[field];
const result = fieldRule.some((item)=>{
if(item.required){
if(!row[field]){
this.$set(row,field+'Message',item.message);
return true
}
}
if(item.validator){
const message = item.validator(row[field]);
if(message){
this.$set(row,field+'Message',message);
return true
}
}
return false
});
if(!result){
this.$set(row,field+'Message','');
}
return !result;
},
function validatePartRuleConfirm(){
const result = this.partRuleList.map((item,index)=>{
return ['total', 'prefix', 'totalType'].map(items=>this.validatePartRule(this.partRuleList[index],items));
});
let resultValidate = null;
for(let i=0;i<result.length;i++){
resultValidate = result[i].every(v=>v);
if(!resultValidate){
return false
}
}
return true;
}