• elementui中table进行表单验证


    在这里插入图片描述

    <el-form :model="ruleForm" ref="ruleForm" class="demo-ruleForm">
      <el-table :data="ruleForm.tableDataShou" border style="width: 100%;">
        <el-table-column type="index" label="序号" width="50" align="center"></el-table-column>
          <el-table-column prop="lon" label="经度" align="center">
            <template v-slot="scope">
               <el-form-item :prop="'tableDataShou.'+scope.$index+'.lon'" :rules="rules.lon">
                  <el-input v-model="scope.row.lon"></el-input>
               </el-form-item>
            </template>
          </el-table-column>
          <el-table-column prop="lat" label="纬度" align="center">
             <template v-slot="scope">
                <el-form-item :prop="'tableDataShou.'+scope.$index+'.lat'" :rules="rules.lat">
                  <el-input v-model="scope.row.lat"></el-input>
                </el-form-item>
              </template>
           </el-table-column>
      </el-table>
    </el-form>
    <el-button type="primary" @click="finish('ruleForm')">输入完成</el-button>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    data() {
        var longitude = (rule, value, callback) => {
          let isTrue =
            /^(\-|\+)?(((\d|[1-9]\d|1[0-7]\d|0{1,3})\.\d{0,6})|(\d|[1-9]\d|1[0-7]\d|0{1,3})|180\.0{0,6}|180)$/;
          if (!isTrue.test(value)) {
            callback(new Error("请按照经度规则输入"));
          } else if (value.slice(-1) == ".") {
            callback(new Error("最后一位不能是小数点"));
          } else {
            callback();
          }
        };
        var latitude = (rule, value, callback) => {
          let isTrue = /^(\-|\+)?([0-8]?\d{1}\.\d{0,6}|90\.0{0,6}|[0-8]?\d{1}|90)$/;
          if (!isTrue.test(value)) {
            callback(new Error("请按照纬度规则输入"));
          } else if (value.slice(-1) == ".") {
            callback(new Error("最后一位不能是小数点"));
          } else {
            callback();
          }
        };
       return {
          ruleForm: {
            tableDataShou: [{ lon: "", lat: "" }],
          },
          rules: {
            lon: [{ require: true, validator: longitude, trigger: "change" }],
            lat: [{ require: true, validator: latitude, trigger: "change" }],
          },
        };
      },
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    finish(formName) {
      this.$refs[formName].validate((valid) => {
        if (valid) {
            console.log("验证通过");
         } else {
             console.log("error submit!!");
             return false;
         }
      });
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
  • 相关阅读:
    Install GDAL under Python3.7 in Ubuntu OS
    市值缩水90%以上,泛生子何以败退美股?
    C++多态之虚函数表详解及代码示例
    Java对接拼多多开放平台API(加密上云等全流程)
    js精度问题
    ZRTP协议与原理
    《HelloGitHub》第 89 期
    Java SE 20 新增特性
    GPT-4论文精读【论文精读·53】
    Bert-vits2最终版Bert-vits2-2.3云端训练和推理(Colab免费GPU算力平台)
  • 原文地址:https://blog.csdn.net/EstherNi/article/details/134693273