el-form 批量表单验证

首先是html部分

 <myForm v-for="(item, index) in formList" 
                    :ref="(el: any) => { setItemRef(el, index) }" 
                    >
                </myForm>
 <el-form ref="permissionFormRef" inline :model="permissionForm" label-position="right" 
        :rules="permissionRules">
        <el-form-item label="数据源IP" prop="ip">
            <el-input disabled v-model="permissionForm.ip" ></el-input>
        </el-form-item>
        <el-form-item label="端口Port" prop="port">
            <el-input disabled v-model="permissionForm.port" ></el-input>
        </el-form-item>
        <el-form-item label="数据源schema">
            <el-input disabled v-model="permissionForm.schName"></el-input>
        </el-form-item>
</el-form>

然后是js部分

let valid = [] as boolean[];
    let promise = [] as any[];
    formList.forEach((a, i) => {
        promise.push(refList['ref' + i].getRef().validate((v) => {
            Promise.resolve(v)
        }))
    });
    const valids =  await Promise.all(promise);
    if (valids.includes(false)) {
        ElMessage.warning('请仔细检查是否填写完整!');
        //获取到是哪一个表单出现了错误,然后可以做一些聚焦焦点、填写默认信息什么的
          

    } else if (!valid.includes(false)) {
//do something

}
const getRef = () => {
    return permissionFormRef.value;
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值