Element 多个Form表单 同时验证

这篇具有很好参考价值的文章主要介绍了Element 多个Form表单 同时验证。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、背景

在一个页面中需要实现两个Form表单,并在页面提交时需要对两个Form表单进行校验,两个表单都校验成功时才能提交

所用技术栈:Vue2+Element UI

二、实现效果

Element 多个Form表单 同时验证,vue.js,elementui,javascript

三、多个表单验证

注意项:

两个form表单,每个表单上都设置单独的model和ref,不能同时使用,否则每个表单上的校验提示会失效

<template>
  <div>
    <!-- 表单一区域 -->
    <el-form :inline="true" :model="form1Mode" class="demo-form-inline" ref="form1Ref" :rules="form1Rules">
      <el-form-item label="表单一" prop="user">
        <el-input v-model="form1Mode.user" placeholder="form1"></el-input>
      </el-form-item>
    </el-form>
    <!-- 表单二区域 -->
    <el-form :inline="true" :model="form2Mode" class="demo-form-inline" ref="form2Ref" :rules="form2Rules">
      <el-form-item label="表单二" prop="user">
        <el-input v-model="form2Mode.user" placeholder="form2"></el-input>
      </el-form-item>
    </el-form>
    <!-- 按钮提交区域 -->
    <div>
      <el-button type="primary" @click="onSubmit">确定</el-button>
      <el-button>取消</el-button>
    </div>
  </div>
</template>

3.1、方式一:依次对两个表单进行校验

<script>
export default {
  data() {
    return {
      form1Mode: {
        user: ''
      },
      form2Mode: {
        user: ''
      },
      form1Rules: {
        user: [{ required: true, message: '请输入form1', trigger: 'blur' }]
      },
      form2Rules: {
        user: [{ required: true, message: '请输入form2', trigger: 'blur' }]
      }
    }
  },
  methods: {
    //确定按钮
    async onSubmit() {
      try {
        await this.$refs.form1Ref.validate()
        console.log('表单1校验通过')
        await this.$refs.form2Ref.validate()
        console.log('表单2校验通过')
        //都校验成功之后,这里可以发请求
        this.$message.success('表单校验成功')
      } catch (error) {
        console.error('表单校验失败', error)
      }
    }
  }
}
</script>

3.2、方式二:两个表单同时校验------使用Promise.all

<script>
export default {
  data() {
    return {
      form1Mode: {
        user: ''
      },
      form2Mode: {
        user: ''
      },
      form1Rules: {
        user: [{ required: true, message: '请输入form1', trigger: 'blur' }]
      },
      form2Rules: {
        user: [{ required: true, message: '请输入form2', trigger: 'blur' }]
      }
    }
  },
  methods: {
    //封装验证函数
    submitForm(formUser) {
      return new Promise((resolve, reject) => {
        this.$refs[formUser].validate((valid) => {
          if (valid) {
            resolve()
          } else {
            reject(new Error('错误'))
          }
        })
      })
    },
    //确定按钮
    onSubmit() {
      Promise.all([this.submitForm('form1Ref'), this.submitForm('form2Ref')])
        .then(() => {
          //验证成功后在此处发请求
          this.$message.success('验证通过')
        })
        .catch(() => {
          this.$message.error('验证失败')
        })
    }
  }
}
</script>

最后,👏👏 😀😀😀 👍👍 文章来源地址https://www.toymoban.com/news/detail-733757.html

到了这里,关于Element 多个Form表单 同时验证的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue element form rules表单规则验证,输入框有值,但验证始终不消失问题的个人解决办法

             做项目时在el-form中遇到了设定了表单验证规则,但只要输入值就显示未输入的情况:         根据网上查找的结果,rules中的名称要与from-item中的prop别名相同,看了一下没问题    后来在网上看到这篇文章:vue element form表单规则验证,有值,但验证始终不消失

    2024年02月12日
    浏览(44)
  • vue3使用el-form实现登录、注册功能,且进行表单验证(Element Plus中的el-form)

    简介:Element Plus 中的 el-form 是一个表单组件,用于快速构建表单并进行数据校验。它提供了丰富的表单元素和验证规则,使表单开发变得更加简单和高效。可以搭配el-dialog实现当前页面的登录、注册页 ,这两天在vue3中用到了表单登录,特意记录一下,这里没有封装,直接使

    2024年02月07日
    浏览(51)
  • Element-ui 多表单同时验证

     如上图表单  [列二 列三 ]  由列一循环出来的数据  所用的校验规则相同   方法一:         拿到表单list数据循环遍历(通过正则/其他)进行校验   上图校验按实际需求只要不为空即可 方法二:         通过element表单的rules属性进行校验   定义好rules校验规则配合方法v

    2024年02月16日
    浏览(42)
  • element-plus el-form 表单、表单验证 使用方法、注意事项

    element-plus@2.0.6 及之后的版本,表单验证不再是同步执行的了 另外, element-plus@2.1.4 及之后的版本,才可按照官方文档示例正常使用(使用的是两者的中间版本的话,最好先自行确认下正确的 上例中: 如果在“ 位置1 ”执行表单验证通过后的业务代码,可以去掉 async...await 如

    2024年02月05日
    浏览(53)
  • element-plus的form表单验证Prop和Rules设置约定

    在使用表单验证过程中遇到深层对象(即嵌套对象)和数组或动态创建数组对象时验证不再起作用或者出现错误。 官网的说明“ Form  组件提供了表单验证的功能,只需为  rules  属性传入约定的验证规则,并将  form-Item  的  prop  属性设置为需要验证的特殊键值即可。 更多高

    2024年02月16日
    浏览(48)
  • element UI —— form表单中Radio单选框进行切换 & 表单验证rule动态校验-validator & 保存前进行form表单校验后才能上传-validate

    element UI —— form表单中Radio单选框进行切换 表单验证rule动态校验-validator 保存前进行form表单校验后才能上传-validate 1、效果图 2、代码 结构 数据

    2024年02月07日
    浏览(47)
  • 表单验证 ---- 在Vue2中使用ElementUI进行表单验证

    目录 前言 给表单绑定对应属性 在data中定义数据对象和表单的定义规则 与数据对象双向绑定 对整个表单进行验证 在做项目时,对于表单进行验证是我们必不可少的 例如 搭建一个基本的登录界面 表单嵌套一般都是   el-form el-form-item el-input  进行验证前,我们需要先 对el-

    2024年01月20日
    浏览(33)
  • vue中elementUI表单循环验证

    进行验证的步骤

    2024年02月15日
    浏览(32)
  • Element ui plus Form 表单验证失败后,自动滚动到失败的位置(validate)(scrollToField)

    对于表单验证失败后,想自动定位到失败的位置  1.首先发起表单验证,失败后拿到组件失败的回调参数 valid:返回一个boolean类型 ValidateFieldsError:返回失败的组件信息,如下  当valid为false时,利用scrollToField() 滚动到相应的错误位置处 代码如下:

    2024年02月11日
    浏览(32)
  • vue实现多个el-form表单提交统一校验

    通过以下两种方法实现多个表单的统一校验: 1. 定义模板内容 在 el-form 表单中添加 ref 属性来获取表单组件对象 2. 方法一 在上述代码中,我们给每个 el-form 表单添加了 ref 属性,分别为 form1 和 form2,在 submit 方法中,分别对两个表单使用 validate 方法进行表单校验 3. 方法二

    2024年02月13日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包