记录自己遇到的问题
# 问题:利用elementui的组件form做部分表单验证xxx.validateField,如果部分验证只有一项内容则没有关系,但是多项内容会出现验证失败的现象,这是因为validateField是对需要验证的数组内的每一项逐个进行验证,若是在validateField的第二个参数直接写验证成功所做的处理,就会出现错误。 ##### 解决方式为:利用Promise.all()方法对validateField方法处理,把他们包裹在promise事件里面,当数组里面的表单规则全部被验证成功后再执行想要做的事情
Promise.all(
['officeResults','writtenAdvice'].map((i)=>{
return new Promise((resolve,reject)=>{
this.$refs.purchaseForm.validateField(i,(errorMessage)=>{
resolve(errorMessage)
})
})
})
).then((errorMessage)=>{
let valid=errorMessage.every((errorMessage)=>{
return errorMessage==''||errorMessage==undefined
})
if(valid){
//在这写你想要做的处理
}
})