{技术操作} element 表单验证

###html

:rules=“rules” ref=“ruleForm” 这两个很重要

然后在每个 el-form-item 里面设置prop属性为 ruleForm的值 例:prop=“shenqingID”

   <el-form
        :model="ruleForm"
        :rules="rules"
        ref="ruleForm"
        label-width="100px"
        class="demo-ruleForm" >
        <el-row>
          <el-col :span="8">
            <el-form-item label-width="150px" label="申请ID:" prop="shenqingID" size="mini">
              <el-input v-model="ruleForm.shenqingID" style="max-width:240px" placeholder="自动分配"></el-input>
            </el-form-item>
            <el-form-item label-width="150px" label="申请人:" prop="shenqingren" size="mini">
              <el-input
                v-model="ruleForm.shenqingren"
                style="max-width:240px"
                placeholder="申请人用户ID,自动展示"
              ></el-input>
            </el-form-item>
            <el-form-item label-width="150px" label="申请数据表:" prop="shengqingBiao" size="mini">
              <el-input v-model="ruleForm.shengqingBiao" style="max-width:240px"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="16">
            <el-form-item label-width="150px" label="申请标题:" prop="shenqingTitle" size="mini">
              <el-input v-model="ruleForm.shenqingTitle" style="max-width:240px"></el-input>
            </el-form-item>
            <el-form-item label-width="150px" label="申请人部门:" prop="shenqingBumen" size="mini">
              <el-input v-model="ruleForm.shenqingBumen" style="max-width:240px" placeholder="自动展示"></el-input>
            </el-form-item>
            <el-form-item label-width="150px" label="申请用途:" prop="shenqingYong" size="mini">
              <el-input v-model="ruleForm.shenqingYong" style="max-width:240px"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-form-item label="使用期限:" prop="qixian">
            <el-radio-group v-model="ruleForm.qixian">
              <el-radio label="all">永久</el-radio>
              <el-radio label="oneYear">一年</el-radio>
              <el-radio label="oneMon">一个月</el-radio>
              <el-radio label="threeMon">三个月</el-radio>
            </el-radio-group>
          </el-form-item>
        </el-row>
        <el-row>
          <el-col :span="8">
            <el-form-item label-width="150px" label="资源名称:" prop="ziyuanName" size="mini">
              <el-select v-model="ruleForm.ziyuanName" style="width:240px">
                <el-option label="区域一" value="shanghai" style="width:240px"></el-option>
                <el-option label="区域二" value="beijing" style="width:240px"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="16">
            <el-form-item label-width="150px" label="资源关键字:" prop="ziyuanGuanjian" size="mini">
              <el-input v-model="ruleForm.ziyuanGuanjian" style="max-width:240px"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="24">
            <el-form-item label-width="150px" label="申请字段:" prop="shenqingZiduan" size="mini">
              <el-input v-model="ruleForm.shenqingZiduan" style="max-width:240px"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-form-item label-width="150px" label="是否涉及秘密:" prop="region" size="mini">
            <el-select v-model="ruleForm.mimi" style="width:240px">
              <el-option label="否" value="n" style="width:240px"></el-option>
              <el-option label="是" value="y" style="width:240px"></el-option>
            </el-select>
          </el-form-item>
        </el-row>
        <el-row>
          <el-form-item label-width="150px" label="是否涉及个人隐私:" prop="region" size="mini">
            <el-select v-model="ruleForm.yinsi" style="width:240px">
              <el-option label="否" value="n" style="width:240px"></el-option>
              <el-option label="是" value="y" style="width:240px"></el-option>
            </el-select>
          </el-form-item>
        </el-row>
        <el-row>
          <el-col :span="6" align="center">
            <el-button type="primary" style="width:120px" @click="shareAdd('ruleForm')">提交</el-button>
          </el-col>
          <el-col :span="10" align="center">
            <el-button style="width:120px" @click="shareAddBack()">返回</el-button>
          </el-col>
        </el-row>
      </el-form>

###data

ruleForm :{shenqingID: “” } 设置每一项 默认数据

rules: {shenqingID: [写验证规则] ,shenqingren:[写验证规则]}

//设置每个prop属性 的验证规则

  data() {
    return {
      ruleForm: {
        shenqingID: "",
        shenqingren: "",
        shengqingBiao: "",
        shenqingTitle: "",
        shenqingBumen: "",
        shenqingYong: "",
        ziyuanName: "",
        ziyuanGuanjian: "",
        shenqingZiduan: "",
        mimi: "n",
        yinsi: "n",
        qixian: "all"
      },
      rules: {
        shenqingTitle: [
          { required: 1, message: "请输入申请标题", trigger: "blur" },
          {
            required: 1,
            min: 3,
            max: 8,
            message: "长度在 3 到 8 个字符",
            trigger: "blur"
          }
        ],
        shenqingID: [
          { required: true, message: "请输入申请ID", trigger: "blur" }
        ],
        shenqingren: [
          { required: true, message: "请输入申请人", trigger: "blur" }
        ],
        shengqingBiao: [
          { required: true, message: "请输入申请表", trigger: "blur" }
        ],
        shenqingTitle: [
          { required: true, message: "请输入申请标题", trigger: "blur" }
        ],
        shenqingBumen: [
          { required: true, message: "请输入申请部门", trigger: "blur" }
        ],
        shenqingYong: [
          { required: true, message: "请输入申请用途", trigger: "blur" }
        ],
        ziyuanName: [
          { required: true, message: "请选择资源名称", trigger: "change" }
        ],
        ziyuanGuanjian: [
          { required: true, message: "请输入关键字", trigger: "blur" }
        ],
        shenqingZiduan: [
          { required: true, message: "请输入字段", trigger: "blur" }
        ],
        qixian: [
          {
            required: true,
            message: "请至少选择一个使用期限",
            trigger: "change"
          }
        ],
        mimi: [
          {
            required: true,
            message: "请选择是否涉及秘密",
            trigger: "change"
          }
        ],
        yinsi: [
          {
            required: true,
            message: "请选择是否涉及个人隐私",
            trigger: "change"
          }
        ]
      }
    };
  },

methods

一定要设置字符串 'ruleForm ’ @click=“shareAdd(‘ruleForm’)”>提交

点击保存把 ruleForm 传进来

this.$refs[ruleForm].validate (abc=>{if(abc){ 到这里就验证成功了表单}}) 要写验证这段代码一定要写,abc 为true 就验证成功

    //添加提交按钮
    shareAdd(ruleForm) {
      this.$refs[ruleForm].validate(abc => {
        if (abc) {
          this.$message({ message: "添加成功", type: "success" }); 
          //表单验证通过,提示成功
          setTimeout(() => {
            this.$router.push({
              path: "/share" //等待2秒钟跳到 资源共享管理
            });
          }, 2000);
        } else {
          this.$message({ message: "添加失败", type: "info" });
          return false;
        }
      });
    }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端酱紫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值