广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >element多个表单校验的实现
  • 497
分享到

element多个表单校验的实现

2024-04-02 19:04:59 497人浏览 独家记忆
摘要

在项目中,经常会遇到表单检验,单个表单检验可查看element的官网文档,里面有详细的介绍。在这里我分享在实际项目中遇到多个表单同时进行校验以及我的解决方法,欢迎大家留言,一起探讨相

项目中,经常会遇到表单检验,单个表单检验可查看element的官网文档,里面有详细的介绍。在这里我分享在实际项目中遇到多个表单同时进行校验以及我的解决方法,欢迎大家留言,一起探讨相关技术,请多多指教。

这里主要用到 Promise 来解决。

关于Promise方法举个例子来抽象理解:

周末想吃火锅,打电话告诉小A,过来我这打火锅,菜都齐了,就差点海鲜,你来的时候带点。接着打电话找朋友小B,过来我这打火锅,有海鲜,肉少了点,你来的时候带点。在接着打电话找朋友小C:过来我这打火锅,啥菜都有了,差点酒,你来的时候整几瓶。还差一包火锅底料,拿手机打电话,小D啊,来打活个,咋几个都在,我这电炉不太行了,啥都准备好了,你把电炉带过来,顺便带包底料。

吃火锅这个事就成了,美滋滋。

但这个事吧。总不会一直顺利,总有人来不了对吧,来不了这火锅就吃不成了。

其实多个表单验证,就和这差不多,每个表单都询问一遍,如果大家都通过了,美滋滋,假如其中一个验证失败,那对不起,还得告诉用户,填对了再说。

通过Promise,对每个表单执行询问检测,无论结果如果,先进入Promise.all中,等待所有表单询问完毕,如果大家就可以,就触发then,美滋滋。反之,catch中执行失败响应就ok了。
 


     const fORMName = ['tableForm1', 'tableForm2', 'tableForm3']
      const validates = (item) => {
        return new Promise((resolve, reject) => {
          if (!this.$refs[item]) {
            resolve()
            return false
          }
          this.$refs[item].validate((valid) => {
            if (valid) {
              resolve()
            } else {
              reject(new Error('验证不对'))
            }
          })
        })
      }
      Promise.all(formName.map(item => validates(item))).then(() => {
        console.log('成功')
      }).catch(() => {
        console.log('失败')
      })
    }
  }

最后,在这里贴上完整代码:


  <div class="home">
    <el-form :model="tableForm1" ref="tableForm1" :rules="rules1" label-width="100px" >
      <el-form-item label="价格" prop="price">
        <el-input v-model.number="tableForm1.price" autocomplete="off"></el-input>
      </el-form-item>
    </el-form>

    <el-form :model="tableForm2" ref="tableForm2" :rules="rules2" label-width="100px" >
      <el-form-item label="年龄" prop="age">
        <el-input v-model.number="tableForm2.age" autocomplete="off"></el-input>
      </el-form-item>
    </el-form>

    <el-form :model="tableForm3" ref="tableForm3" :rules="rules3" label-width="100px" >
      <el-form-item label="姓名" prop="name">
        <el-input v-model.number="tableForm3.name" autocomplete="off"></el-input>
      </el-form-item>
    </el-form>

    <el-button type="primary" @click="submitForm">提交</el-button>
    <el-button @click="resetForm">重置</el-button>
    
  </div>
</template>

<script>
export default {
  name: 'Home',
  data () {
    return {
      tableForm1: {
        price: ''
      },
      tableForm2: {
        age: ''
      },
      tableForm3: {
        name: ''
      },
      rules1: {
        price: [{ required: true, message: '价格不能为空', trigger: 'blur' }]
      },
      rules2: {
        age: [{ required: true, message: '年龄不能为空', trigger: 'blur' }]
      },
      rules3: {
        name: [{ required: true, message: '姓名不能为空', trigger: 'blur' }]
      }
    }
  },
  methods: {
    resetForm () {
      this.$refs.tableForm1.resetFields()
      this.$refs.tableForm2.resetFields()
      this.$refs.tableForm3.resetFields()
    },
    submitForm () {
      const formName = ['tableForm1', 'tableForm2', 'tableForm3']
      const validates = (item) => {
        return new Promise((resolve, reject) => {
          if (!this.$refs[item]) {
            resolve()
            return false
          }
          this.$refs[item].validate((valid) => {
            if (valid) {
              resolve()
            } else {
              reject(new Error('验证不对'))
            }
          })
        })
      }
      Promise.all(formName.map(item => validates(item))).then(() => {
        console.log('成功')
      }).catch(() => {
        console.log('失败')
      })
    }
  }
}
</script>

到此这篇关于element多个表单校验的实现的文章就介绍到这了,更多相关element 表单校验内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网! 

--结束END--

本文标题: element多个表单校验的实现

本文链接: https://www.lsjlt.com/news/127001.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • element多个表单校验的实现
    在项目中,经常会遇到表单检验,单个表单检验可查看element的官网文档,里面有详细的介绍。在这里我分享在实际项目中遇到多个表单同时进行校验以及我的解决方法,欢迎大家留言,一起探讨相...
    99+
    2022-11-12
  • element多个表单校验的实现方法
    这篇文章给大家分享的是有关element多个表单校验的实现方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在项目中,经常会遇到表单检验,单个表单检验可查看element的官网文档,里面有详细的介绍。在这里我分享...
    99+
    2023-06-15
  • Vue Element-ui表单校验规则实现
    目录1、前言 2、规则校验的入门模式 2.1、示例代码 2.2、form项 2.3、prop项 2.4、rules项 2.5、rule项 2.6、使用规则 2.7、规则校验的核心 3...
    99+
    2022-11-12
  • Vue Element-ui表单校验规则怎么实现
    今天小编给大家分享一下Vue Element-ui表单校验规则怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,...
    99+
    2022-10-19
  • Vue Element-ui如何实现表单校验规则
    本篇内容介绍了“Vue Element-ui如何实现表单校验规则”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录前言规则校验的入门模式1、...
    99+
    2023-06-20
  • Element通过v-for循环渲染的form表单校验的实现
    目录普通的form表单校验v-for 循坏的表单校验实现的代码普通的form表单校验 日常业务开发中,对于中后台管理系统,form表单校验是一个很常见的问题。 查阅Element官方...
    99+
    2022-11-13
  • vue 如何实现表单校验
    一、安装并使用 首先,在你的vue项目中进行安装: npm install --save vue-input-check 安装完成以后引入并注册: import in...
    99+
    2022-11-12
  • js实现表单校验功能
    本文实例为大家分享了js实现表单校验功能的具体代码,供大家参考,具体内容如下 1、所用到的三个事件: onfocus(焦点聚焦事件)、onblur(焦点离开事件)、onkeyup(按...
    99+
    2022-11-12
  • Vue中如何使用ElementUi同时校验多个表单
    小编给大家分享一下Vue中如何使用ElementUi同时校验多个表单,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!代码let&n...
    99+
    2022-10-19
  • JS实现注册界面表单校验
    本文实例为大家分享了JS实现注册界面表单校验的具体代码,供大家参考,具体内容如下 设计效果: 源码: <!DOCTYPE html> <html>     ...
    99+
    2022-11-13
  • angular4响应式表单与校验实现demo
    目录html文件:ts文件:校验文件validators.tshtml文件: <form [formGroup]="formModel" (submit)="onSubmit(...
    99+
    2023-05-20
    angular4响应式表单校验 angular 响应式
  • 如何实现AJAX制作自动校验的表单
    这篇文章主要讲解了“如何实现AJAX制作自动校验的表单”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何实现AJAX制作自动校验的表单”吧!传统网页在注册时...
    99+
    2022-10-19
  • validate 注册页的表单数据校验实现详解
    目录1.注册页是什么2.为什么需要注册页3.注册页如何实现3.1分析业务需求3.2获取数据 v-model双向绑定3.3校验数据3.4method中的发送数据3.5处理数据4总结1....
    99+
    2022-11-13
  • 手把手教你uniapp和uview2.0实现表单校验实战
    目录u–formu-form-item补充:附:uview表单校验使用的坑总结表单提交是很常见的功能,本文基于uniapp+uview2.0实现表单常见属性校验处理,使用...
    99+
    2023-05-19
    uniapp uview uniapp实现表单验证 uni-app表单验证
  • 使用ajax怎么实现在提交时校验表单
    这篇文章给大家介绍使用ajax怎么实现在提交时校验表单,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。什么是ajaxajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术,可以通过在后台与服务器进行少量数据...
    99+
    2023-06-08
  • Vue中Element的table多选表格如何实现单选
    目录Element的table多选表格实现单选vue table单选逻辑Element的table多选表格实现单选 效果图 1.在多选表格的基础上进行处理, 呈现单选表格的作用 2...
    99+
    2022-11-13
  • 基于Vue+elementUI如何实现动态表单的校验功能
    小编给大家分享一下基于Vue+elementUI如何实现动态表单的校验功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言开发...
    99+
    2022-10-19
  • springboot表单提交之validator校验的实例分析
    小编给大家分享一下springboot表单提交之validator校验的实例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言表单提交是最常见的数据提交方式,...
    99+
    2023-06-15
  • js前端表单数据处理和校验怎么实现
    这篇文章主要介绍了js前端表单数据处理和校验怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇js前端表单数据处理和校验怎么实现文章都会有所收获,下面我们一起来看看吧。1.数据处理当表单在视图所展示的数据并...
    99+
    2023-07-02
  • v-for中动态校验el-form表单项的实践
    目录问题描述效果图代码思路完整代码问题描述 在项目开发中,我们经常会遇到表单保存的功能,在表单保存前,常常需要做表单必填项的校验,校验通过以后才去发请求保存表单数据。 但是,这个表单...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作