el-form实现其中一个填写即可的校验

news2024/11/17 12:22:19

 

 

      <el-form
        ref="form"
        :model="formData"
        :rules="formRules"
        label-width="130px"
      >
        <el-row :gutter="24">
          <el-col :span="12">
            <el-form-item label="司机姓名 :" prop="driverName">
              <el-input
                :disabled="isDisable"
                v-model="formData.driverName"
                placeholder="请输入司机姓名"
              />
            </el-form-item>
          </el-col>

          <el-col :span="12">
            <el-form-item label="联系方式 :" prop="driverPhone">
              <el-input
                :disabled="isDisable"
                v-model="formData.driverPhone"
                placeholder="请输入联系方式"
              />
            </el-form-item>
          </el-col>

          <el-col :span="12">
            <el-form-item label="身份证号 :" prop="driverCard">
              <el-input
                :disabled="isDisable"
                v-model="formData.driverCard"
                placeholder="请输入身份证号"
              />
            </el-form-item>
          </el-col>

          <el-col :span="12">
            <el-form-item label="归属部门 :" prop="deptId">
              <el-select
                :disabled="isDisable"
                v-model="formData.deptId"
                @change="deptChange"
                filterable
                placeholder="请选择归属部门"
              >
                <el-option
                  v-for="(item, index) in deptList"
                  :key="index"
                  :label="item.deptName"
                  :value="item.deptId"
                />
              </el-select>
            </el-form-item>
          </el-col>

          <el-col :span="12">
            <el-form-item label="驾驶证编号 :" prop="driverNum">
              <el-input
                :disabled="isDisable"
                v-model="formData.driverNum"
                placeholder="请输入驾驶证编号"
              />
            </el-form-item>
          </el-col>

          <el-col :span="12">
            <el-form-item label="过期时间 :" prop="driverExpireTime">
              <el-date-picker
                :disabled="isDisable"
                v-model="formData.driverExpireTime"
                style=""
                type="datetime"
                value-format="yyyy-MM-dd HH:mm:ss"
                format="yyyy-MM-dd HH:mm:ss"
                placeholder="选择日期"
              />
            </el-form-item>
          </el-col>

          <el-col :span="12">
            <el-form-item label="ic卡号 :" prop="cardId">
              <el-select
                v-model="formData.cardId"
                :disabled="isDisable"
                filterable
                placeholder="请输入ic卡号"
              >
                <el-option
                  v-for="(item, index) in cardNumList"
                  :key="index"
                  :label="item.cardNum"
                  :value="item.id"
                />
              </el-select>
            </el-form-item>
          </el-col>

          <el-col :span="12">
            <el-form-item label="指纹编号 :" prop="printCode">
              <el-input
                :disabled="isDisable"
                v-model="formData.printCode"
                placeholder="请输入指纹编号"
              />
            </el-form-item>
          </el-col>

          <el-col :span="12">
            <el-form-item label="人脸编号 :" prop="faceCode">
              <el-input
                :disabled="isDisable"
                v-model="formData.faceCode"
                placeholder="请输入人脸编号"
              />
            </el-form-item>
          </el-col>

          <el-col :span="24">
            <el-form-item label="备注 :" prop="remark">
              <el-input
                :disabled="isDisable"
                v-model="formData.remark"
                placeholder="请输入备注"
              />
            </el-form-item>
          </el-col>

          <el-col :span="24">
            <el-form-item label="图片 :" prop="image">
              <multipleUpload
                v-if="isShowImgVideo"
                :disabled="detailsShow"
                :limit-count="4"
                :img-list="imgList"
                :submit-img="submitImg"
                @getImg="getImgUpload"
              />
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>

  data() {
    return {
        formData: {},
 formRules: {
        driverName: [
          { required: true, message: "请输入司机姓名", trigger: "blur" },
        ],
        deptId: [
          { required: true, message: "请选择归属部门", trigger: "blur" },
        ],
        cardId: [
          {
            required: true,
            validator: this.validateAtLeastOneRequired,
            trigger: "blur",
          },
        ],
        printCode: [
          {
            required: true,
            validator: this.validateAtLeastOneRequired,
            trigger: "blur",
          },
        ],
        faceCode: [
          {
            required: true,
            validator: this.validateAtLeastOneRequired,
            trigger: "blur",
          },
        ],
      },
    }
 }

methods:{

    /**
     * @Event 方法
     * @description: ic卡号 指纹编号 人脸编号 其中一个必填校验
     * */
    validateAtLeastOneRequired(rule, value, callback) {
      const field = "ic卡号、指纹编号、人脸编号";
      if (
        this.formData.cardId ||
        this.formData.printCode ||
        this.formData.faceCode
      ) {
        callback();
      } else {
        callback(new Error(`${field}至少填写一个`));
      }
    },


    submitForm() {
      this.$refs.form.validate((valid) => {
        if (valid) {
          // do something
        } else {
          return false;
        }
      });
    },
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/727374.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【贪心+最小子段和】EDU151 D

Problem - D - Codeforces 题意&#xff1a; 思路&#xff1a; 首先K是1e18的范围&#xff0c;不能去枚举&#xff0c;那么就去考虑猜测结论 手推样例&#xff1a; 初步可以猜测&#xff0c;K应该取的是某个峰值 结论是&#xff0c;K应该取最小子段和的左端点 因为当前缀和…

【Qt QML入门】第一个Quick应用

运行结果&#xff1a; 打开Qt Creator&#xff0c;创建一个Qt Quick Qpplication&#xff0c;IDE为我们创建一个应用工程&#xff0c;其中包含如下文件&#xff1a; .pro工程文件&#xff0c;我们通过它来打开整个工程&#xff1a; QT quick# You can make your code fail to…

这个618,项目经理竟然只能买它

早上好&#xff0c;我是老原。 转眼就来到了2023年年中&#xff0c;你们的个人成长计划启动了吗&#xff1f; 比如读书计划。 最近有不少粉丝朋友私信老原&#xff0c;希望能推荐一些可以帮自己“进化”的神作。 每个人的基础不同&#xff0c;想要“进化”还是得对症下药才…

C# --- 类型安全 与 var关键字

C# --- 类型安全 与 var关键字 什么是类型安全var关键字 什么是类型安全 类型安全就是编译器在编译阶段会检查变量内容和变量类型是否匹配, 如果不匹配会抛出错误类型安全的语言包括Java, C, C#等类型不安全的语言有JavaScript 下面这段代码是JavaScript, 编译器不会进行类型检…

git在工作中如何搭建和运用(巨详细!!)

最近有点闲&#xff0c;出一版git在实际公司上的一些运用 1&#xff0c;下载git&#xff0c; 下载git就不多说了&#xff0c;官方上下载安装就好了。 2&#xff0c;初始化 下载安装完成后&#xff0c;找个项目的空文件夹进去&#xff0c;右键点击git bash here &#xff0c;…

servlet和form和session表单实现最简单的登录跳转功能(详解,文末付源码)

目录 第一步&#xff1a;配置环境 在pom.xml引入servlet等依赖 这段代码赋值粘贴进web.xml 第二步&#xff1a;编写前端html的form表单 html代码&#xff08;复制这个&#xff09; 第三步&#xff1a;编写登录的java loginservlet代码&#xff08;复制这个&#xff09; 解释…

vue使用element plus引入ElMessage样式失效的问题

样式失效如图&#xff1a; 我使用的是按需引用&#xff0c;所以在main.js中直接导入下面样式就行&#xff1a; import element-plus/theme-chalk/index.css

Luogu P1280.尼克的任务

Luogu P1280.尼克的任务 原题点这里 思路 方法一&#xff1a;动态规划 这是一道动态规划的题目。 步骤主要分 5 5 5 步&#xff1a; 状态的定义转移式的推到递推顺序的判定边界的确定结果的输出 下面&#xff0c;我们针对这道题&#xff0c;细细地讲解一下每一个步骤 一…

MYSQL单表数据量达到多少时性能会严重下降的问题探讨!

不知从什么时候开始&#xff0c;有着MySQL单表数据量超过2000万性能急剧下降的说法。 在中国互联网技术圈流传着这么一个说法&#xff1a;MySQL 单表数据量大于 2000 万行&#xff0c;性能会明显下降。事实上&#xff0c;这个传闻据说最早起源于百度。具体情况大概是这样的&am…

PS 魔棒选区工具使用方法

我们现在PS中打开一个项目 然后 如下图 在工具左侧 选择魔棒工具 选择魔棒工具之后 我们的鼠标会变成像一个魔法棒一样的东西 我们拿着魔棒工具 在下图指向位置点一下 就可以看到 它在我们整个图上生成了一些选区 这个工具本身也带有一些色彩识别的功能 就相当于 你点的这…

【MySQL系列】MySQL库的学习及基本操作(增删查改)

「前言」文章内容大致是数据库的基本操作 「归属专栏」MySQL 「主页链接」个人主页 「笔者」枫叶先生(fy) 「枫叶先生有点文青病」「句子分享」 哪里会有人喜欢孤独&#xff0c;不过是不喜欢失望罢了。 ——村上春树《挪威的森林》 目录 一、创建/查看数据库二、删除数据库三、…

Java8 lambda 表达式 forEach 如何提前终止?

首先&#xff0c;让我们看一下Java 8中如何使用forEach()方法。forEach()方法接受一个Consumer接口作为参数&#xff0c;该接口定义了一个accept()方法&#xff0c;该方法接受一个对象并对其执行一些操作。因此&#xff0c;我们可以通过Lambda表达式来实现Consumer接口。下面是…

Camtasia2023中文版电脑屏幕记录和课件制作工具

TechSmith Camtasia是一个非常容易使用的电脑屏幕记录和课件制作工具。Camtasia 2023软件集强大的录屏、视频编辑编辑、视频菜单制作、视频影院和视频播放功能于一体&#xff0c;可以轻松制作各种教学课件、微课堂等。Camtasia 2023支持一键录制和共享高质量截屏视频&#xff0…

Pytorch: 数据读取机制Dataloader与Dataset

文章和代码已经归档至【Github仓库&#xff1a;https://github.com/timerring/dive-into-AI 】或者公众号【AIShareLab】回复 pytorch教程 也可获取。 文章目录 数据读取机制Dataloader与DatasetDataLoader 与 Datasettorch.utils.data.DataLoader区分Epoch、Iteration、Batchs…

2022年真题 - 18 - 磁盘快照

磁盘快照 题目新增 15 G 的磁盘创建 LVM 卷挂载 LVM 卷写入文本创建快照挂载快照验证配置题目 StorageSrv - 磁盘快照 新增 15G 的磁盘,并将其做成 LVM 卷,VG 名称为 snapvg,LV名称为 snaplv 大小为 5G,挂载至 /snapdata 目录下;写入文本的文件数据至 /snapdata 目录下,…

2.5 DNS 应用 -- 2. DNS记录和消息格式

2.5 DNS 应用 -- 2. DNS记录和消息格式 DNS记录DNS协议与消息如何注册域名&#xff1f; DNS记录 资源记录(RR, resource records)TypeA Name: 主机域名Value: IP地址 TypeNS Name: 域(edu.cn)Value: 该域权威域名解析服务器的主机域名 TypeCNAME Name: 某一真实域名的别名 www.…

2.常见网页布局

2.1常见网页布局 第一种 第二种 第三种&#xff08;最常见的&#xff09; 代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-wi…

苹果自带的分享以及图片保存授权和应用跳转

// NSString *testToShare "分享的标题"; // NSURL *urlToShare [NSURL URLWithString:"http://www.baidu.com"]; // UIImage *imageToShare image; // NSArray *activityItems [te…

【算法】程序员必须掌握的算法?

Yan-英杰的主页 悟已往之不谏 知来者之可追 C程序员&#xff0c;2024届电子信息研究生 目录 一&#xff1a;程序员为什么一定要学会算法 二&#xff1a;常见算法介绍 1、时间复杂度 2、空间复杂度 3. 必会内容&#xff1a; 4.使用场景 5. 算法学习网站&#xff1a; 三&…

《Linux基础命令讲解》学习笔记

Linux简单介绍 Linux不是一个具体的操作系统&#xff0c;而是一类操作系统的总称。 具体版本称为发行版&#xff1a; Red Hat:目前被IBM收购&#xff0c;收费版&#xff0c;目前全球最大的Linux供应商 CentOS: Red Hat推出的免费版 Ubuntu :界面比较友好 Linux系统目录结构…