Avue组件或Element-UI动态修改rules验证规则或根据条件修改rules验证规则

这篇具有很好参考价值的文章主要介绍了Avue组件或Element-UI动态修改rules验证规则或根据条件修改rules验证规则。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

AVUE组件或el-form动态修改rules验证规则

问题描述

根据条件修改验证规则:el-form中若A为空,则B可为空,若A有值,则B必填,动态改变B的验证规则

问题的解决原理

avue:

在watch监听事件中,使用auve-form自带的:defaults.sync="defaults"属性,来操作B的rules验证规则,此写法的效果好于el-form原生,因为设置为必填后会有必填标志*

el-form:

使用watch监听A值的变化,若A不为空,则操作B的验证规则(万金油)
tip:如果使用select单选框组件,也可在单选框@change事件中操作B的验证规则(特殊)文章来源地址https://www.toymoban.com/news/detail-521220.html

代码如下

Avue组件中:

//此处用applyType指代a ,taxNumber 指代B
<avue-form  :defaults.sync="defaults" v-model="modifyForm" :option="modifyOption" @submit="modificationSubmission"></avue-form>
...
data(){
	return{
		defaults:{},
		//avue配置项
		modifyOption: {
        submitText:'修改申报',
        menuPosition:'right',
        size:"mini",
        labelWidth:150,
        emptyBtn:false,
        column: [
          {
            label: '申报类型',
            prop: 'applyType',
            type: 'radio',
            span:24,
            rules: [{
              required: true,
              message: "请选择申报类型",
              trigger: "blur"
            }],
            dicData: radioList
          }]
          }
	}
}
...
watch:{
	'modifyForm.applyType'(val){
      if(val=== null || val === undefined || val === ''){
      //此处绑定的rules规则参考默认绑定rules
      this.defaults.taxNumber.rules = [
            {required: false,
              validator: validateCode1,
              trigger: "blur"}
          ]
     }else{
     this.defaults.taxNumber.rules = [
            {required: true,
              validator: validateCode1,
              trigger: "blur"}
          ]
     }
}

el-form原生组件中:

<el-form ref="ruleForm" :rules="rules" :model="form" label-width="220px">
	<el-form-item label="申报园区:" prop="applyPark">
		<el-select v-model="form.applyPark" placeholder="请选择" @change="changeApplyPark">
			<el-option
			 v-for="item in applyList"
			:key="item.value"
			:label="item.label"
			:value="item.value">
			</el-option>
		</el-select>
	</el-form-item>
	<el-form-item label="社会统一信用代码:" prop="taxNumber">
    	<el-input v-model="form.taxNumber"></el-input>
    </el-form-item>
</el-form>

...
export default{
	data(){
		return{
			applyList :[{
	        label:'公司',
	        value:0
	      },{
	        label:'分公司',
	        value:1
	      }],
	      //rules中要先声明一个不必填,否则下面的this.rules.taxNumber取不到
		    rules: {
		      applyPark: [
		        {required: true, message: "请选择申报类型", trigger: "blur"},
		      ],
		      taxNumber: [
		        {required: false, message: "请输入社会统一信用代码", trigger: "blur"},
		      ],
		    }
		}
	},
	methods:{
		changeApplyPark(){
			if(this.form.applyPark === null || this.form.applyPark === undefined || this.form.applyPark === ''){
			this.rules.taxNumber = [
			{required: false, message: "请输入社会统一信用代码", trigger: "blur"}
			]
			}else{
			this.rules.taxNumber = [
				{required: true, message: "请输入社会统一信用代码", trigger: "blur"}
			]
			}
		}
	}
}

到了这里,关于Avue组件或Element-UI动态修改rules验证规则或根据条件修改rules验证规则的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • element-ui动态表单和验证

    在使用element-ui开发中,经常会用到对动态创建的表单进行字段验证,比如新增多个类似卡片的表单,里面的字段需要做验证,此时就要使用到动态表单验证,官方文档写的有示例,但是不够清晰。除了官方示例,还可以使用循环生成多个form实现该需求。 第一种官方示例:一

    2024年02月02日
    浏览(43)
  • vue:element-ui表单动态验证规则

    实现当是否发送消息选择是时,业务类型字段必填。 当你在一个表单中使用 el-form 和 el-form-item 来创建表单项时, el-form-item 的 :rules 属性可以用来设置该表单项的验证规则。我们希望根据用户在 \\\"是否发送消息\\\" 这个表单项中的选择动态设置 \\\"业务类型\\\" 这个表单项的验证规则

    2024年01月23日
    浏览(46)
  • element-ui实现动态添加表单项并实现事件触发验证验证

    需求分析:点击新增后新增一个月度活动详情,提交时可同时提交多个月度活动详情。点击某一个月度活动信息的删除后可删除对应月度活动信息 H5部分: 抽取H5部分的主要框架: js部分 页面中form数据对象声明 表单验证 完整demo 整体效果及功能: 删除某个月度活动:

    2024年02月03日
    浏览(40)
  • vue element-ui表格组件动态多级表头

    实际项目的需求,需要根据后端动态获取的方式来初始化表格的表头包含哪些信息,且有很多信息是有规律的,所以我们需要Element UI动态生成多级表头。需要的效果图如下: 由于统计维度是可变化的(它可以是省市也可以是区县),所以需要专门设置一个表格的数据来保存

    2024年02月10日
    浏览(52)
  • Element-ui的Carousel走马灯组件动态渲染高度

    在前端 vue 项目开发中经常会用到走马灯的场景,然而在采用Element-ui的情况下, el-carousel 走马灯组件有一个默认的固定高度 300px 。如下所示: 这样会导致网页的全屏的 banner 被压缩或拉伸,变形十分难看,在一个认真的切图仔眼里是无法容忍的。然而业务方在使用的时候没

    2024年02月03日
    浏览(48)
  • element-ui日历组件el-calendar选中特定时间以及样式修改

    项目开发中,有需要用到日历的组件,而且需要把某些日期标注起来,在这边标注的小红点我用了 el-badge 具体效果如下图所示:  页面标签: 变量声明: 样式修改: 参考地址

    2024年02月11日
    浏览(64)
  • element-ui 表单校验 rules 配置

    指示type要使用的验证器。可识别的类型值为: string :类型必须为 string 。 type  默认是  string。 number :类型必须为 number 。 boolean :类型必须为 boolean。 integer :类型必须为  number  且为整数。 float :类型必须为  number  且为浮点数。 array :类型必须为数组。 enum :值必须

    2024年02月04日
    浏览(50)
  • vue | element-ui中 如何修改表格Table组件中滚动条的样式

    在Table表格中,当内容超出容器时就会出现滚动条,elemnt-ui自带的滚动条有时无法满足需求,那么我们可以通过css伪类来实现对滚动条的自定义。 滚动条由两部分组成的: 滑块:可以滑动的部分。 轨道:滚动条的轨道,即滑块的轨道。一般来说滑块的颜色比轨道的颜色深一

    2024年02月11日
    浏览(53)
  • VUE element-ui实现表格动态展示、动态删减列、动态排序、动态搜索条件配置、表单组件化。

        1、本组件支持列表的表头自定义配置,checkbox实现 2、本组件支持列表列排序,vuedraggable是拖拽插件,上图中字段管理里的拖拽效果 ,需要的话请自行npm install 3、本组件支持查询条件动态配置,穿梭框实现 https://download.csdn.net/download/askuld/88216937

    2024年01月16日
    浏览(60)
  • 怎么修改element ui动态组件的样式

    要修改elementUI组件的样式,可以采用以下两种方式 通过选择权重覆盖elementUI组件的样式,如修改复选框为圆角: 但这种方式为全局样式,会影响页面中所有复选框,如果不希望影响其它页面的样式,可以采用第二中方式 但如果仅仅是设置了scoped属性,样式无法生效,原因是

    2024年02月15日
    浏览(49)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包