element-ui form表单的动态rules校验功能实现

 更新时间:2023年07月26日 09:55:40   作者:史上最菜开发  
在vue项目中,有时候可能会用到element-ui form表单的动态rules校验,这篇文章主要介绍了element-ui form表单的动态rules校验,我们可以巧妙的运用element-ui form表单里面form-item的校验规则来处理,本文结合实例代码介绍的非常详细,需要的朋友可以参考下

element-ui form表单的动态rules校验

在vue 项目中,有时候可能会用到element-ui form表单的动态rules校验,比如说选择了哪个选项,然后动态显示或者禁用等等。我们可以巧妙的运用element-ui form表单里面form-item想的校验规则来处理(每一个form-item项都可以单独校验)。

上代码:

<el-form-item
          label="3、属于以下何种优先配售类型(单选,符合以下条件之一即属于优先配售范围)"
          prop="yxpslx"
          :rules="sqyxForm.jtpslx == '0' ? { required: true, message: '请选择', trigger: 'change'} : {}"
          label-width="600px"
          style="display:flex; flex-direction: column;"
          class="elformitem3"
        >
          <el-radio-group v-model="sqyxForm.yxpslx" :disabled="sqyxForm.jtpslx ==1" @change="changeYxpsRadio">
            <el-radio label="0" class="mb10" :disabled="sqyxForm.jtsgry == '0' && sqyxForm.jtpslx == '0'">A.夫妻双方均符合共有产权住房申购条件且共同申购</el-radio
            ><br />
            <el-radio label="1" class="mb10" :disabled="sqyxForm.jtsgry == 1">B.港澳青年</el-radio>
            <br />
            <el-radio label="2" class="mb10" :disabled="sqyxForm.jtsgry == 1">C.二孩以上家庭</el-radio>
            <br />
            <el-radio label="3" :disabled="sqyxForm.jtsgry == 1">D.经区政府批准的优先保障对象</el-radio>
          </el-radio-group>
        </el-form-item>

重点是这个: :rules=“sqyxForm.jtpslx == ‘0’ ? { required: true, message: ‘请选择’, trigger: ‘change’} : {}”sqyxForm.jtpslx == ‘0’ 这个是我上面的选项来动态显示或者禁用的,当禁用的时候,就不校验!!!

vue elementui el-form rules动态验证

一、介绍

简介:在使用elementUI el-form 中,对于业务不同的时候可能会产生不同表单结构,但是都是存在同一个表单控件el-form中。

图片介绍:

1、在用户选择单选或多选时会有A,B,C,D,E五个选项

2、在用户选择简答题时只会题干,答案以及解析选项(主要是通过v-if来进行判断)

问题引入:当用户选择不同的题库时会产生不同的form表单选项,这个时候在进行表单提交验证的时候就需要根据不同试题类型进行判断,这个时候就需要两个rules来动态进行表单校验。

解决方法:在页面加载的时候在computed方法中进行动态判断直接返回赋值。

代码介绍:

// elementui信息
<el-form :model="addQueTable" ref="addQueTable" :rules="addQueRulesList">
<el-form>
// data中定义rules
updateQusRulesSel:[];
updateQusRules:[];
// computed方法
computed: {
// this.updateQusTable.showSelect自己定义的标识
    updateQusRulesList: function() {
        if (this.updateQusTable.showSelect) {
		    return this.updateQusRulesSel;
	    } else {
		    return this.updateQusRules;
    }
}

总结:在computed中进行值绑定,当该表单显示的时候就会触发(一开始是隐藏的),如果一开始页面加载的时候就触发会无法进行值判断,从而报错。其实能解决问题,通过该种方法。

二、最简单解决方法

在el-form中定义的rules检验字段,如果你的rules中有字段通过v-if进行隐藏,rules是不会对隐藏的字段选项进行判断,只要定义一个完整的rules就行,v-if隐藏的部分不会进入校验方法中。

把简单的问题复杂化了!!!!!

感谢该用户:

到此这篇关于element-ui form表单的动态rules校验的文章就介绍到这了,更多相关element-ui动态rules校验内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue.js数据绑定之data属性

    Vue.js数据绑定之data属性

    这篇文章主要为大家详细介绍了Vue.js数据绑定之data属性,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • Vue Steps步骤条渲染异常问题

    Vue Steps步骤条渲染异常问题

    这篇文章主要介绍了Vue Steps步骤条渲染异常问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • 手把手教你写一个vue全局注册的Toast的实现

    手把手教你写一个vue全局注册的Toast的实现

    本文主要介绍了手把手教你写一个vue全局注册的Toast的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • Vue如何引用public中的js文件

    Vue如何引用public中的js文件

    这篇文章主要介绍了Vue如何引用public中的js文件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • 关于导入、配置Vuetify遇到的几个问题

    关于导入、配置Vuetify遇到的几个问题

    这篇文章主要介绍了关于导入、配置Vuetify遇到的几个问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • vue实现将图像文件转换为base64

    vue实现将图像文件转换为base64

    这篇文章主要介绍了vue实现将图像文件转换为base64,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • vue实现标签云效果的方法详解

    vue实现标签云效果的方法详解

    这篇文章主要介绍了vue实现标签云效果的方法,结合实例形式详细分析了vue标签云的实现技巧与相关操作注意事项,需要的朋友可以参考下
    2019-08-08
  • vue绑定事件后获取绑定事件中的this方法

    vue绑定事件后获取绑定事件中的this方法

    今天小编就为大家分享一篇vue绑定事件后获取绑定事件中的this方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • Vue中的 ref,props,mixin属性

    Vue中的 ref,props,mixin属性

    这篇文章主要介绍了Vue中的ref,props,mixin属性,文章围绕主题ref,props,mixin展开详细内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-05-05
  • Vue实现文字上下滚动动画的示例代码

    Vue实现文字上下滚动动画的示例代码

    这篇文章主要为大家详细介绍了如何使用Vue实现超酷文字上下滚动动画,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考下
    2024-03-03

最新评论