首页 > 其他分享 >使用Element-UI的form表单验证文件是否上传

使用Element-UI的form表单验证文件是否上传

时间:2024-04-01 18:11:22浏览次数:12  
标签:checkFile form 验证 表单 callback UI Element 上传

项目中有个需求,表单中的文件为必传项。

 其中使用了element-ui的form表单验证,话不多说,上代码。

<template>
  <div>
    <el-form
      label-position="top"
      :model="reportForm"
      ref="checkerForm"
      :rules="rules"
      label-width="80px"
    >
      <el-form-item label="上传报告" prop="checkFile">
        <el-upload
          class="upload-demo"
          drag
          action="#"
          :auto-upload="false"
          :file-list="reportForm.reportFile"
          :on-change="uploadChange"
          :on-remove="uploadRemove"
          :limit="5"
          multiple
        >
          <i class="el-icon-upload"></i>
          <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
        </el-upload>
      </el-form-item>
    </el-form>
  </div>
</template>
<script>
export default {
  data() {
    return {
      rules: {
        checkFile: [
          { required: true, validator: this.fileMustUpload, trigger: "change" },
        ],
      },
      reportForm: {
        reportFile: [],
      },
    };
  },
  methods: {
    fileMustUpload(rule, value, callback) {
      if (this.reportForm.reportFile.length === 0) {
        callback("请上传附件");
      } else {
        callback();
      }
    },
    uploadChange(file, fileList) {
      this.$refs["checkerForm"].validateField(["checkFile"]);
    },
    uploadRemove(file, fileList) {
      this.$refs["checkerForm"].validateField(["checkFile"]);
    },
  },
};
</script>

其中主要验证规则在红框部分。当然附件每次on-change和on-remove的时候都会重新校验一次。

 

标签:checkFile,form,验证,表单,callback,UI,Element,上传
From: https://www.cnblogs.com/junlinglife/p/18109074

相关文章

  • QtQuick 学习笔记(一)容器组件
    1.QGroupBox功能提供分组框支持,可在其中布置多种窗口部件常用函数与组件voidsetChecked(boolchecked)QGroupBox使能voidsetTitle(constQString&title)标题文本设置效果及功能测试GroupBox.cpp#include<QApplication>#include<QDialog>#include......
  • WPF如何使用 System.Windows.Forms.FolderBrowserDialog
    WPF如何使用System.Windows.Forms.FolderBrowserDialog在WPF中,如果你想使用System.Windows.Forms.FolderBrowserDialog来选择文件夹,你需要添加对WinForms的引用,因为FolderBrowserDialog是WindowsForms的一部分,不是WPF的一部分。下面是如何在WPF应用程序中使用FolderBro......
  • guice的MethodInterceptor的用法和使用场景和设计思想
    Guice是一个轻量级的依赖注入框架,它也提供了AOP(面向切面编程)的功能,其中MethodInterceptor是Guice用来实现AOP的一个接口。MethodInterceptor的用法:MethodInterceptor接口是AOP联盟(AOPAlliance)的一部分,Guice使用这个接口来定义方法拦截器。拦截器可以在方法执行前后添加......
  • 鸿蒙HarmonyOS实战-ArkUI组件(Button)
    ......
  • 1935B - Informatics in MAC
    这道题目考察了前缀和的思想以及对数学思维的理解,首先对于任意一组数组01710103考虑一下他们之间的MEX怎么分割,假设有两个数组{1,x},{x+1,n}要使得他们之间的MEX一样,则他们每个数组中都含有1~MEX-1个数(一定)那么把两个数组合并呢?两个数组合并之后MEX不变,则往下递推,假设分......
  • 学习transformer模型-Dropout的简明介绍
    Dropout的定义和目的:Dropout是一种神经网络正则化技术,它在训练时以指定的概率丢弃一个单元(以及连接)p。这个想法是为了防止神经网络变得过于依赖特定连接的共同适应,因为这可能是过度拟合的症状。直观上,dropout可以被认为是创建一个隐式的神经网络集合。PyTorch的nn.Drop......
  • 【从零开始AI绘画2】StableDiffusionWebUI的基础使用
    StableDiffusionWebUI的基础使用第一章中已经完成了SDwebui的部署已经初始化,接下来我们开始基础使用,涉及更细节高级的功能本文暂时不写文章目录StableDiffusionWebUI的基础使用界面简介一、大模型SDcheckpoint加载checkpoint下载checkpoint模型二、提示词正向提示词......
  • HBuilderX插件开发常见问题(通用篇)
    使用hx.window.createWebView创建窗口后,为什么不显示出来?如果创建时候想立即显示出来,可以通过调用hx.window.showView方法来显示出来为什么市场页面上HBuilderX最低兼容版本会渲染成不确定?..这个似乎是官方bug(尚待确认)怎么配置插件的市场链接,像这样市场链接不用配置,从......
  • OpenTofu路在何方:定量分析Terraform issue数据,洞察用户需求|OpenTofu Day 闪电演讲
    数澈软件Seal首席架构师李平辉提交的演讲议题“AliasTerraform=Tofu.Job'sDone,NowWhat?”入选KubeConEU同场活动OpenTofuDay,本文为演讲实录。  大家好,我是Lawrence,是Seal的首席架构师。今天将由我为大家带来LighteningTalk。在Seal,我们研发了一款开源软......
  • 16-Element组件库
    Element官网(基于Vue2框架):组件|ElementElement-Plus官网(基于Vue3框架):Image图片|ElementPlus(element-plus.org) 这里我们主要介绍Element-Plus组件库1)安装ElementUI组件库,使用包管理器(如NPM、Yarn 或 pnpm)安装ElementPlus#NPM$npminstallelement-plus--s......