vue中element-ui实现表单根据不同下拉框进行动态表单校验

2023-11-12

vue中element-ui实现表单根据不同下拉框进行动态表单校验

我们想实现的功能如下,请看效果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

话不多说我们上代码

html部分:

   <el-form :model="formInline"
                 ref="formInline"
                 :inline="true"
                 :rules="rules"
                 style="width: 600px;">
          <el-form-item label="数据库类型:"
                        prop="dbtype"
                        :label-width="formLabelWidth">
            <el-select v-model="formInline.dbtype"
                       @change="onChangeMoudle">
              <el-option label="Oracle"
                         value='Oracle'></el-option>
              <el-option label="MySQL"
                         value='MySQL'></el-option>
              <el-option label="informix"
                         value='informix'></el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="数据库服务名:"
                        prop="servername"
                        :label-width="formLabelWidth">
            <el-input v-model="formInline.servername"></el-input>
          </el-form-item>
          <el-form-item label="数据库名:"
                        prop="database"
                        :label-width="formLabelWidth">
            <el-input v-model="formInline.database"></el-input>
          </el-form-item>
         
        </el-form>

js部分:

<script>
//定义根据下拉选项进行的的单独交验的表单项
let servername = [
  { required: true, message: '该数据库类型下此项为必填项', trigger: 'blur' },
];
let database = [
  { required: true, message: '该数据库类型下此项为必填项', trigger: 'blur' }
];
export default {
  data () {
    return {
      rules: {
      
        dbtype: [
          { required: true, message: '请选择数据库类型', trigger: 'change' }
        ],
        servername: [{ trigger: 'blur' }],
        database: [{ trigger: 'blur' }],
      },
    }
    },
     //根据选择不同的下拉框的值,来进行动态校验
  watch: {
    "formInline.dbtype": function (val) {
      this.val = val
      if (val == 'Oracle') {
        console.log(222)
        Object.assign(this.rules, {
          servername,
          database: [],
        });
        setTimeout(() => { // 添加事件队列
           this.$refs.formInline.validateField(["servername"]);
          this.$refs.formInline.clearValidate(["database"]);
        }, 0);
      }
      else if (val == 'MySQL') {
        Object.assign(this.rules, {
          database,
          servername: []
        });

        setTimeout(() => { // 添加事件队列
         this.$refs.formInline.validateField(["database"]);
          this.$refs.formInline.clearValidate(["servername"]);
        }, 0);
      }
      else if (val == 'informix') {
        Object.assign(this.rules, {
          database,
          servername
        });

        setTimeout(() => { // 添加事件队列很重要
         //this.$refs.formInline.validateField(["mysqlName"]);
         this.$refs.formInline.validateField(["servername", "database"]);
        }, 0);
      }
    }
  },
    }
</script>

以上是选中下拉不同值时即可进行校验是否必填的方法。还有一种是不即刻进行校验,提交表单时进行校验。按具体需求来实现吧,

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue中element-ui实现表单根据不同下拉框进行动态表单校验 的相关文章

  • 在 Google 表格脚本中设置活动单元格的值

    我想创建一个公式 在某个单元格更改上创建时间戳 下面的代码就可以了 我现在想做的是将公式转换为纯文本 将该时间戳锚定到工作表上 如果您手动执行此操作 您将选择时间戳 复制它们并将它们粘贴为值 我不想手动执行此操作 因此我创建了下面的脚本 它
  • libxmljs 的替代品 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 目标 使用 Node js 访问网页 使用 xpath 语法操作 DOM 并打印新的 DOM libxm
  • 我如何使用 querySelector() 选择具有双类的元素

    当我想使用 querySelector 选择元素时遇到问题 ul class xoxo blogroll ul 我怎样才能选择它ul元素 在我的代码中我像这样使用 var list document body querySelector u
  • React Native:不透明视图内的透明视图

    我想用不透明框架和透明中心显示相机的视图 就像图片中的一样 黑色部分是相机的视图 我正在寻找具有纯反应本机组件的解决方案 没有额外的库 例如https github com gilbox react native masked view h
  • 您可以将现有的 div 复制到模式对话框吗

    我有一个带有多个面板的仪表板来显示不同的信息 我希望能够添加一个按钮来以模式显示面板 我正在使用引导程序 我所能找到的只是已经编写的模态 我想复制作为面板的 div 标签的内容 然后将其显示在模型中 但我不确定如何进行 该面板的 html
  • 雅虎 OAuth2 隐式授予流程不适用于新的雅虎应用程序

    我有现有的网络应用程序和专用雅虎应用程序 https developer yahoo com apps 在职的 它用OAuth2 隐式授权流程 https developer yahoo com oauth2 guide flows imp
  • Sonar 中的 javascript 代码覆盖率

    我是使用 Sonar 和插件进行 javascript 代码覆盖的新手 使用 Sonar 分析时 有哪些可能性可以找出 javascript 代码的质量 包括代码覆盖率 目前我正在使用 karma runner 它提供代码覆盖率报告 可以在
  • 如何强制折断不可折断的字符串?

    我有一个根据数据库中包含的数据生成的 HTML 页面 数据库有时包含浏览器无法分解的长字符串 因为这些字符串不包含可分解的字符 空格 点 逗号等 有没有办法使用 html css 甚至 javascript 来解决这个问题 看到这个link
  • window.open:是否可以打开一个新窗口并修改其 DOM

    我想打开一个新窗口 var my window open iframe html blank height 600 width 600 但当我打开它时 我想修改它的DOM 我尝试过 var div my document createEle
  • setInterval() 在用户离开选项卡时暂停?

    javascript 中是否有任何方法的行为类似于 setInterval 并且当用户离开选项卡时停止并在用户再次进入选项卡时恢复 您可以使用以下方法创建自己的 API可见性API https developer mozilla org e
  • 将异步事件监听器与 Nestjs EventEmitter 模块和无服务器函数结合使用

    我正在尝试在 Nestjs EventEmitter 模块的帮助下实现具有无服务器 lambda 函数的异步工作线程 处理程序在发出事件时被调用 但该函数在 async await 调用之前关闭 我尝试过同时使用emit and emitA
  • 避免在 ES6 的函数内定位 this 的对象作用域

    例如 我正在使用 D3 js 运行一个项目 导入特定模块并调用它们的函数 Setup TypeScript ES6 导入特定的 D3 组件 角6 我有一个对象 在本例中是一个角度指令 并在 SVG 画布上绘制一些圆圈 并希望它们在拖动事件上
  • 尝试使用 Firebug 查找 JavaScript 文件中的函数

    我试图找到这个函数调用 myFooBar 该函数在某些 HTML 中内联引用 但页面加载了大量 JavaScript 并且在每个文件中搜索该函数需要相当多的工作 如何使用 Firebug 找到此函数所在的 JavaScript 文件 打开脚
  • 根据特定字符获取整个字符串或子字符串

    我有一个包含 MIME 类型的字符串 例如application json 现在我想将其与实际的 HTTP 标头进行比较 在本例中content type 如果标头包含 MIME 类型 那么就很简单 if mimeType contentT
  • Aurelia - 仅 HTML 自定义元素的内联定义

    我的 Aurelia 视图模型中有一个递归对象 如下所示 Class BottomlessPit Name string MorePits BottomlessPit null 因此 我想在 Aurelia 视图中使用递归模板 它只会在一个
  • 弹出窗口的动态高度取决于内容,可能吗?

    是否有可能获得一个宽度始终为 400px 的弹出窗口 但根据弹出窗口中的内容动态高度 我已经看到了这个 但不知道如何将其应用到弹出窗口 调整 iframe 的宽度高度以适应其中的内容 https stackoverflow com ques
  • Javascript 中 if 语句中的假值?

    过去两周 我在学校研究 JavaScript 的事情已经有一段时间了 而且我一直在做我的作业 在 Douglas Crockford 所著的 JavaScript The Good Parts 一书中 作者在第 11 页上列出了 if 语句
  • 具有固定顶部菜单的语义 UI 侧边栏

    Semantic UI 对其进行预警侧边栏页面 http semantic ui com modules sidebar html usage 当侧边栏出现时 固定位置内容可能会出现改变其位置的问题 然后它提供了该问题的两种可能的解决方案
  • AngularJS 在指令运行之前通过 AJAX 检索数据

    我正在使用 AngularUIuiMap http angular ui github com directives map实例化谷歌地图的指令 uiMap 指令非常适合处理硬编码数据 mapOptions and myMarkers 但是
  • DOM 解析器 Chrome 扩展内存泄漏

    问题 我开发了一个扩展程序 可以拦截 Web 请求 获取 Web 请求来源的 HTML 并对其进行处理 我使用 DOMParser 来解析 HTML 并且意识到 DOMParser 正在导致大量内存泄漏问题 最终导致 chrome 扩展崩溃

随机推荐

  • 大家来讨论怎么写概要设计

    http blog csdn net sunwill chen article details 7864904 笔者声明 本文讲述笔者浅薄的观点 意在抛砖引玉 望网友一起发表观点共同切磋 目前网络上的概要设计格式繁多 质量也是参差不齐 许多
  • 单链表C语言代码实现

    一 代码 include
  • sqli-labs-master靶场搭建以及报错解决

    一 前提准备 1 下载 sqli labs master mirrors audi 1 sqli labs GitCode 2 安装PHP study Windows版phpstudy下载 小皮面板 phpstudy xp cn 二 搭建靶
  • 华为OD机试 - 最小传输时延(Java)

    题目描述 某通信网络中有N个网络结点 用1到N进行标识 网络通过一个有向无环图表示 其中图的边的值表示结点之间的消息传递时延 现给定相连节点之间的时延列表times i u v w 其中u表示源结点 v表示目的结点 w表示u和v之间的消息传
  • Pycharm中修改注释文本的颜色(详细设置步骤)

    下面是在Pycharm中设置注释文本颜色的详细步骤 下面是修改前后对比 修改前注释行的颜色 修改后注释行的颜色 以上就是Pycharm中修改注释文本颜色的详细步骤 希望能帮到你
  • 小程序真机调试连接本地服务器进行调试

    小程序连接本地服务器 开发小程序时经常会遇到需要连接本地服务器进行调试的时候 但是总是连接不上 这里就说一下本菜鸟连接本地服务器的方法 第一步 把下图红框的地方勾选住 好多方法都得选这一步 第二步 设置里面代理按图中勾选 第三步是连接的方法
  • JavaScript避免使用return跳出多重循环从而继续执行函数;使用break跳出多重for循环

    一 先来看一下使用break仅跳出一层for循环的用法 const foo function for let i 1 i lt 3 i for let j 1 j lt 3 j if i 2 break console log 输出j的值
  • Mac上使用GPU加速训练模型

    文章目录 前言 使用GPU 前言 上一篇文章中我介绍了使用pytorch的一个完整模型训练套路 其中没有使用gpu 如果要使用gpu的话 win上我们可以使用cuda mac上可以使用mps 而我自己是mac电脑 需要进行如下修改 使用GP
  • ubuntu下docker配置国内镜像源

    既然都看到这篇文章了 就不解释为什么需要配置国内镜像源了 直接上步骤 此文使用ubuntu环境为Ubuntu 18 04 4 LTS 使用 sudo vim etc docker daemon json 命令新建或编辑文件 输入以下内容 r
  • 大话设计模式C++实现-第23章-命令模式

    一 UML图 二 概念 命令模式 Command 将一个请求封装为一个对象 从而使你可用不同的请求对客户进行参数化 对请求进行排队或记录请求日志 以及支持可撤销的操作 三 说明 角色 1 Command类 用来声明执行操作的接口 2 Con
  • 漫谈 SLAM 技术(下)

    转自 https zhuanlan zhihu com p 135958593 3 视觉SLAM系统关键问题 结合上述介绍的SLAM系统 我们从以下几个方面分析视觉SLAM系统需要考虑的关键问题 1 图像信息使用 视觉SLAM方法根据使用图
  • 模块""可能与您正在运行的Windows版本不兼容。检查该模块是否与regsvr32.exe的x86或x64版

    本人最近在研究mencoder 转换视频格式 发现转换rmvb需要 1 把drv43260 dll拷贝到系统的system32文件夹下 2 开始 gt 运行 gt regsvr32 drv43260 dll 来自 http topic cs
  • C++容器之 vector map set查找元素

    前面两篇基本上讲解容器的增加删除 其实现实世界中对数据的查找才是最大的需求 下面主要围绕着容器的查找来讲解 首先 由于vector没有实现find 方法 只能使用algorithm提供的find 方法 所以 直接在vector查找节介绍al
  • 多线程编程

    Linux线程概述 内核线程和用户线程 线程是程序中完成独立任务的完整执行序列 即一个可调度的实体 根据运行环境和调度者身份 线程分为内核线程和用户线程 内核线程 在有的系统上也称为LWP 轻量级进程 运行在内核空间 由内核调度 用户线程
  • 概率在计算机学中的应用,概率统计在计算机中的应用

    概率统计在计算机中的应用 一 综述 研究自然界中随机现象统计规律的数学方法 叫做概率统计 又称数理统计方法 概率论 是根据大量同类随机现象的统计规律 对随机现象出现某一结果的可能性作出一种客观的科学判断 对这种出现的可能性大小做出数量上的描
  • 交换机ACL配置

    交换机ACL配置 实验要求 PC3能ping通R3和R4 PC2能ping通R3和R4 R3和R4全网互通 通过ACL使PC2不能ping通PC3 先给每个接口配置ip PC3 192 168 5 3 24 192 168 5 254 PC
  • ngx_http_ssl_module

    ngx http ssl module 模块 语法 ssl 在 从 默认值 ssl off 背景 http 服务器 支持HTTPS协议为给定的虚拟服务器 推荐使用 ssl 参数的 听 指令而不是 这个指令 语法 ssl buffer siz
  • 哈哈,太真实了!除了《颈椎康复指南》,还有这 9 本书

    点击上方 Java后端 选择 设为星标 优质文章 及时送达 作者 sivagao 链接 https github com sivagao 本文罗列的这些书籍封面其实是各种典型的反模式 不过它们真的是非常常见以至于大家都习以为常了 从 Sta
  • Go面试题专题(一):聊聊你理解的Golang defer关键字

    defer关键字是我们工作中经常用到的go语言特性 也是面试官比较青睐的一个知识点 今天通过这篇文章带各位道友彻底掌握它 面试题文档下链接点击这里免积分下载 go语言入门到精通点击这里免积分下载 文章目录 defer两大特性 defer与r
  • vue中element-ui实现表单根据不同下拉框进行动态表单校验

    vue中element ui实现表单根据不同下拉框进行动态表单校验 我们想实现的功能如下 请看效果 话不多说我们上代码 html部分