【Element Ui】 vue3中修改el-form的rules后不触发自动校验,再次修改rules时清除验证信息

这篇具有很好参考价值的文章主要介绍了【Element Ui】 vue3中修改el-form的rules后不触发自动校验,再次修改rules时清除验证信息。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

项目要求:类型为“业务备货”的时候,“客户”为必填项

效果如下:

表单 rules 修改required 校验不生效,vue.js,前端,javascript文章来源地址https://www.toymoban.com/news/detail-848825.html

代码如下:

<!--      :validate-on-rule-change="false" 是为了阻止更改rules时立即触发校验-->
<el-form :model="form" ref="orderForm" :rules="formRules" :validate-on-rule-change="false">
        <el-form-item label="类型" prop="type">
          <el-radio-group v-model="form.type" @change="needCustNm">
            <el-radio-button value="1" label="采购备货"></el-radio-button>
            <el-radio-button value="2" label="业务备货"></el-radio-button>
          </el-radio-group>
        </el-form-item>
        <el-form-item label="客户" prop="custNm">
          <el-input v-model="form.custNm" placeholder="请输入客户"></el-input>
        </el-form-item>
</el-form>


......
// 初始化设置
const formRules = ref({
  type: [
    {
      required: true,
      message: '请选择类型',
      trigger: 'change',
    },
  ]
});

// 切换类型时
function needCustNm(){
  if(form.value.type == '2'){
    formRules.value = {
      type: [
        {
          required: true,
          message: '请选择类型',
          trigger: 'change',
        },
      ],
      custNm:[
        {
          required: true,
          message: '请输入客户',
          trigger: 'change',
        },
      ]
    }
  }else{
    formRules.value = {
      type: [
        {
          required: true,
          message: '请选择类型',
          trigger: 'change',
        },
      ]
    }
  //  需要加nextTick,不然获取不到
    nextTick(()=>{
      // 清除校验效果
      proxy.$refs["orderForm"] && proxy.$refs["orderForm"].clearValidate()
    })
  }
}

重点:

 :validate-on-rule-change="false" 是为了阻止更改rules时立即触发校验
nextTick(()=>{
      // 清除校验效果
      proxy.$refs["orderForm"] && proxy.$refs["orderForm"].clearValidate()
})

到了这里,关于【Element Ui】 vue3中修改el-form的rules后不触发自动校验,再次修改rules时清除验证信息的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • vue3 element-plus el-form的二次封装

    form表单的二次封装 vue3 element-plus el-form的二次封装 属性名 类型 默认值 说明 data Array [] 页面展示数据内容 onChange Function false 表单事件 bindProps Object {} 表单属性 formRef Object {} 表单ref ruleForm Object {} 数据

    2024年02月13日
    浏览(52)
  • vue全家桶进阶之路43:Vue3 Element Plus el-form表单组件

    在 Element Plus 中, el-form 是一个表单组件,用于创建表单以便用户填写和提交数据。它提供了许多内置的验证规则和验证方法,使表单验证更加容易。 使用 el-form 组件,您可以将表单控件组织在一起,并对表单进行验证,以确保提交的数据符合预期的格式和要求。该组件具有

    2023年04月20日
    浏览(37)
  • 在vue项目里,Element-Ui中el-form 实现一行两个表单效果

    1.首先使用elementUi中的Layout 24分栏进行布局,将整个form表单放入24分栏里 如图所示: 2.再将需要同行显示的表单放入el-row中的el-col中去 3.然后再根据你的需求控制一下表单大小就ok啦  全部代码: 效果图如下:  

    2024年02月11日
    浏览(39)
  • 使用Vue + el-form + rules实现图书信息录入功能实战

    前言  上节回顾 转眼2023年已经过去一半了,我咋记得2022年刚过去呢,有时候在前端打版本的时候我还不小心写成2022啥啥啥呢,写完才发现自己自己写错了,应该是2023,真是时光一去不复回,往事只能回味啊。 上一节为了给图书录入功能模块打基础,单独写了一篇 Vue + Fo

    2024年02月17日
    浏览(38)
  • 14 使用Vue + el-form + rules实现图书信息录入功能实战

    前言  上节回顾 转眼2023年已经过去一半了,我咋记得2022年刚过去呢,有时候在前端打版本的时候我还不小心写成2022啥啥啥呢,写完才发现自己自己写错了,应该是2023,真是时光一去不复回,往事只能回味啊。 上一节为了给图书录入功能模块打基础,单独写了一篇 Vue + Fo

    2024年02月16日
    浏览(43)
  • el-form单个表单项校验方法;element-ui表单单个选项校验;el-form单个表单校验

    当我们使用element-ui的el-form时,想在提交表单前对其中一个表单进行验证时就可以使用element自带的方法“validateField” 如图: 使用示例

    2024年02月16日
    浏览(45)
  • Element ui el-form嵌套el-table并设置校验

    动态增减表单项 因为嵌套关系,el-table的数据绑定的是:data=“form.tableData” 因为表格中的表单项校验需要绑定prop字段,这个字段根据表格索引动态绑定所以添加校验时需要注意表单的prop属性是动态的,例如 :prop=“‘tableData.’ + scope.$index + ‘.name’” ,另外prop中的最后一个

    2024年01月22日
    浏览(38)
  • element-ui的el-form表单一行两个显示效果

    效果图:           代码: 因为代码重复所以这些只写了一份   css设置这些就ok了 

    2024年02月11日
    浏览(39)
  • Vue - Element el-form 表单对象多层嵌套校验

    针对el-form的数据源是对象嵌套对象,在进行数据绑定和校验时和单层的对象有一点区别, 具体是下面两部分: 数据源: 1、 给 el-form-item 的 prop 设为: prop=\\\"health.height\\\" 。 v-model 设为: v-model=\\\"fromData.health.height\\\" 2、校验规则 rules 对象对应的key设置为数据源内部的值: \\\'health.heig

    2024年02月14日
    浏览(45)
  • Vue+Element(el-upload+el-form的使用)+springboot

    目录 1、编写模板  2、发请求调接口  3、后端返回数据 1.编写实体类 2.Controller类  3、interface接口(Service层接口)  4.Service(接口实现) 5、interface接口(Mapper层接口) 6、xml 7、goods.sql 8、goods_img 4、upload相关参数   说明(该案例是一个el-form和el-upload结合的,逻辑是:需要

    2024年01月25日
    浏览(41)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包