首页 > 其他分享 >Vue项目element-ui 添加动态校验

Vue项目element-ui 添加动态校验

时间:2023-08-29 14:00:41浏览次数:35  
标签:ruleData Vue otherRule rules number element ui 校验 message

需求:一个表单中某个字段,根据另一个字段变化,校验是否必填

  <el-form ref="detail" :model="detail" :rules="ruleData" size="small" label-width="100px">
        <el-card>
          <el-row>
            <el-col :span="12">
              <el-form-item label="范围" prop="type" label-width="220px">
                <el-select v-model="detail.type" style="width: 100%" clearable placeholder="请选择" @change="typeChange()">
                  <el-option label="分步" value="01"> </el-option>
                  <el-option label="最终" value="02"> </el-option>
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="12">
              <el-form-item label="数量" prop="number" label-width="220px">
                <el-input v-model="detail.number" type="number" style="width: 100%"> </el-input>
              </el-form-item>
            </el-col>
          </el-row>
        </el-card>
      </el-form>
  typeChange () {
    if (String(this.detail.type) === '02') {
      this.$delete(this.ruleData, 'number');
    } else {
      this.ruleData = { ...this.rules, number: this.otherRule.number };
    }
    (this.$refs.detail as any).clearValidate();
  }

  rules = {
    type: [{ required: true, message: '请选择', trigger: 'blur' }],
  };

  otherRule = {
    number: [{ required: true, message: '请输入', trigger: 'blur' }],
  };

  ruleData = { ...this.rules, number: this.otherRule.number };

 

标签:ruleData,Vue,otherRule,rules,number,element,ui,校验,message
From: https://www.cnblogs.com/Steal-cha-of-Melon/p/note-gagaga.html

相关文章

  • naiveui | 数据表格超长文字省略处理
    一、设置ellipsis使用数据表格DataTable组件的省略设置ellipsis,但是如果内容过长的情况下,会溢出consttextColumns={key:'uie_content',title:'文本',ellipsis:{tooltip:true,},},二、自定义省略内容的宽度使用弹......
  • vue3响应式数据重复
    记一次bug。。由于【甲方负责人】的表单是响应式的,然后直接添加到另一个响应式的数组里了,就会造成【更改表单内容,也会使数组里的值发生变化】解决方法1//添加到列表,做临时显示2constaddresponsible=()=>{3constnewResform={...resform};//添加数组之前创......
  • 【Element】el-dialog 内使用 el-image 并添加 preview-src-list 预览,拖拽导致图片预
    现象el-dialog内使用el-image并添加preview-src-list预览,拖拽导致图片预览不完整<el-dialogwidth="500"v-model="visible":title="activeProp?.name"@close="handleClose":draggable="true"//可拖拽......
  • 【Vue】vue3 v-draggable 拖拽指令封装
    说明需求:实现一个拖拽指令,可在父元素区域任意拖拽元素,同时如果传入的值为father,则拖拽的时候以父元素为拖拽对象思路:1、设置需要拖拽的元素为absolute,其父元素为relative。2、鼠标按下(onmousedown)时记录目标元素当前的left和top值。3、鼠标移动(onmousemove)时计算每......
  • 【Element】el-image 预览功能配置
    <el-image:preview-teleported="true"v-for="imginitem.imageList"style="width:100%;height:auto":src="img":preview-src-list="item.i......
  • 【Vue】vue3 中 如何将el-table的表格数据下载为.xlsx格式文件
    安装依赖首先,你需要安装xlsx和file-saver这两个库。npminstallxlsxfile-saver--save有兴趣可以看看两个库的官方说明,直接看下面使用也没问题。xlsx官方介绍TheSheetJSCommunityEditionoffersbattle-testedopen-sourcesolutionsforextractingusefuldata......
  • Vue3 Refs模板
    Refs模板用来获取页面DOM元素或者组件,类似于Vue2.X中的$refs。Refs模板的使用方法如下。(1)在setup()中创建ref对象,其值为null。(2)为元素添加ref属性,其值为步骤(1)中创建的ref对象名。(3)完成页面渲染之后,获取DOM元素或者组件。 src\views\HomeView.vue<template><d......
  • Vue3 依赖注入 provide() inject()
    依赖注入就是父组件向后代组件传递数据,可以向子组件传递数据,也可以向孙子组件传递数据。在父组件中使用provide()函数,向后代传递数据。在后代组件中使用inject()函数,获取传递过来的数据。 provide()​提供一个值,可以被后代组件注入。inject()​注入一个由祖先组件或整个应......
  • Arduino基础教程(一)
    1.ArduinoIDE安装https://www.arduino.cc/2.连接开发板在IDE->Tools选项指定自己的开发板和端口后,程序可验证上传。3.点亮一个小灯//定义引脚号constintledPin=13;voidsetup(){//将ledPin设置为输出模式pinMode(ledPin,OUTPUT);}voidloop(){......
  • 设计模式之Builder模式
    Builder模式的关键是其中的Director对象并不直接返回对象,而是通过一步步来一步步进行对象的创建。当然这里Director可以提供一个默认的返回对象的接口(即返回通用的复杂对象的创建,即不指定或者特定唯一指定BuilderProduct*中的参数)。Product.h#ifndef_PRODUCT_H_#define_PRODUCT_......