el-form的对象数组数组校验

el-form绑定的是一个对象,但在有些时候提交的表单中会有数组数据,校验有点不符合常理

例如这样的一个表单,付款方是个数组,这种怎么校验呢。上代码

用的循环el-form, :model绑定循环的item,也就是数组中的单个对象,然后prop绑定参数,rules正常写,

然后提交的时候,因为el-form是循环的,所以用ref绑定的fForm是一个数组,要循环校验

fForm.value.forEach((item: any) => {
    item.validate((vali: boolean) => {
        if (vali){
            // 校验通过
        }
    })
})

这样就能对数据进行校验了,校验过了trueNum+1,最后跟fForm的长度作比较,小于的话就是有没通过校验的,等于就说明校验全通过了

let trueNum: any = 0
fForm.value.forEach((item: any) => {
    item.validate((vali: boolean) => {
        if (vali){
            trueNum ++
        }
    })
})
setTimeout(() => {
    if (trueNum == fForm.value.length){
        // 发送请求
        setSubParams()
    }else {
        ElMessage.warning('付款信息不能为空!')
    }
},300)

 

posted @ 2024-01-31 14:19  幻影之舞  阅读(1820)  评论(0)    收藏  举报