Vue3中el-table中提交内容校验

这里只记录提交时,校验问题,显示输入不能为空,且除去非必填字段! 

// 提交
const handleSubmit  = () => {
    if (validateTable()) {
      // 所有行验证通过,执行提交逻辑
      const valuesData=tableData
      createHoursFill(valuesData.value)
        .then(res=>{
          if(true==res){
            emit("getSubmitData",'success')
            tableData.value=[]
            ElMessage.success("保存成功")
          }else {
            ElMessage.error(" ");
          }
        })
    } else {
      // 至少有一行数据为空,显示错误提示
      ElMessage.error('请填写完整信息.');
    }
};
//限制必填权限
const validateTable = () => {
  let isValid = true;
  tableData.value.forEach((row) => {
    const keys = Object.keys(row);
    for (const key of keys) {
      // 排除特定字段
      if (key !== 'remark') {
        // 确保值存在且不为空字符串(或根据需要调整校验逻辑)
        if (
          typeof row[key] === 'undefined' ||
          row[key] === null ||
          (typeof row[key] === 'string' && row[key].trim() === '')
        ) {
          isValid = false;
          break; // 一旦发现空值,停止当前行的循环
        }
      }
    }
  });
  return isValid;
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值