首页 > 其他分享 >vue element 多个Form 表单同时验证

vue element 多个Form 表单同时验证

时间:2023-08-28 13:44:43浏览次数:35  
标签:vue Form 验证 self 表单 let resultArr element

 

多个Form内容统一提交验证

 1 <el-form   ref="form1"></el-form>
 2 <el-form   ref="form2"></el-form>
 3 <el-form   ref="form3"></el-form>
 4 <el-form   ref="form4"></el-form>
 5 export default{
 6     data(){
 7         resultArr:[],//接受验证返回结果数组
 8         formArr:['form1','form2','form3','form4'],//存放表单ref数组
 9     },
10     methods:{
11         //封装验证函数
12         checkForm(formName){
13             let _self=this;
14             _self.resultArr = []
15             let result = new Promise(function(resolve, reject) {
16             _self.$refs[formName].validate((valid) => {
17                 if (valid) {
18                     resolve();
19                 } else { reject() }
20                 })
21             })
22             _self.resultArr.push(result) //push 得到promise的结果
23         },
24         submit(){
25             let _self=this;
26             _self.formArr.forEach(item => { //根据表单的ref校验
27                 _self.checkForm(item)
28             })
29            //resultArr数组的值必须是promise对象才能使用Promise.all,在checkForm做了这一步
30             Promise.all(_self.resultArr).then(function() { //都通过了
31               alert('所有表单验证通过')
32               // 该区域使用this无效,promise内面的this表示局部,并不代表VueComponet实例
33             }).catch(function() {
34                 console.log("err");
35             });
36         }
37     }
38 }

标签:vue,Form,验证,self,表单,let,resultArr,element
From: https://www.cnblogs.com/xiaozhangzhang/p/17662075.html

相关文章

  • vue3同一页面内重复引用同一操作dom的组件产生的问题
    [2023年8月28日12:39:40]vue3同一页面内标签<component>重复引用同一组件,且该组件内使用css选择器进行dom操作导致页面内相同组件发生变化的问题解决记录组件内进行dom操作,需要通过js方法进行选择器的元素获取,但当vue3全部渲染完毕后,页面内有多个id为test9的相同元素,元素选择将......
  • normalizeKey is not a function #element #vue #疑难杂症
    normalizeKeyisnotafunction#element#vue#疑难杂症原因是组件中使用了import{Search}from'@element-plus/icons-vue'解决方案是,在main.ts中,将Vue的引入置顶。 //TOP import{createApp}from'vue' importAppfrom'./App.vue&......
  • 带你上手基于Pytorch和Transformers的中文NLP训练框架
    本文分享自华为云社区《全套解决方案:基于pytorch、transformers的中文NLP训练框架,支持大模型训练和文本生成,快速上手,海量训练数据》,作者:汀丶。1.简介目标:基于pytorch、transformers做中文领域的nlp开箱即用的训练框架,提供全套的训练、微调模型(包括大模型、文本转向量、文本生......
  • Vue element 表单验证不通过时,滚动到校验未通过位置
    我们在使用elementIUI实现表单验证,内容比较多的时候,提示内容会被遮挡,这时候用户不清楚什么情况,还会连续点击提交按钮。这个时候需求来啦:我们需要在表单验证不通过的时候,页面滚动到对应校验不通过的位置。大致思路在表单验证方法validate中,提供了两个参数:是否校验成功,和未通过校......
  • vue使用swiper调到指定页(非initialSlide)
    使用swiper的Methods方法watch:{showIndx(n){this.$nextTick(function(){this.$refs.mySwiper.swiper.slideTo(n,1000,true)})},}完整模板代码<template><swiper:options='swiperOption'ref="mySwiper"cl......
  • 鼠标任意拖动元素排列顺序(vue)
    参考地址:https://codesandbox.io/s/condescending-butterfly-enjqpr?file=/src/App.vue <template><div><transition-groupname="drag"class="list"tag="ul"><li@dragstart="dragStart(......
  • lazarus模拟MDI Form
    从delphi转到lazarus,发现lazarus不支持MDI窗体,我们可以用PageContorl实现,不过发现使用ATTabscomponent更简单方便。关键在ATTabs添加:procedureATTabs1TabClick(Sender:TObject);procedureATTabs1TabClose(Sender:TObject;ATabIndex:integer;直接上代码:form:......
  • vue-颜色选择器(vColorPicker)
      //安装插件//官网:http://vue-color-picker.rxshc.com/npminstallvcolorpicker-S//main.js中全局引入importvcolorpickerfrom'vcolorpicker'Vue.use(vcolorpicker)//在页面中使用<colorPickerv-model="color"v-on:change="he......
  • vue3中使用provide/inject
    父组件<template><hello-world/><button@click="changeMessage">按钮</button></template><scriptsetuplang="ts">importHelloWorldfrom"./components/HelloWorld.vue";import{provide,ref......
  • Vue的使用(2)
    一个简单的Vue项目的创建创建一个UserList.vue组件在App.vue中使用该组件使用组件的第一步,导入组件使用组件的第二部,申明这个组件使用组件的第三步:引用组件结果:事件和插值语法<template><div><!--template只允许有一个唯一的孩子--><h1>这是一个一级标题</h1><di......