el-form 动态控制rules是否校验

其他工作日常分享:
统一输入框只能输入数字且不能小于1
使用循环总是拿到最后的值
将参数或者数据当做属性使用
工作日常分享:今天一个朋友问我,他有一个需求,就是怎么去动态控制表单的校验,下面图片举例,假设只有为是的时候才需要去校验,这种情况下要怎么处理。
在这里插入图片描述
方法:重点在于rules,可以通过设置true和false的方式去控制校验,为false的时候,校验就会不生效。需要主要数字是字符串还是数字类型,假设以这个是和否为例,只有为是的时候才触发校验,那么就设置为当这个参数为1的时候才触发校验,这种方法是最简单的,如果你的校验是在标签里的话,那么就需要另外设置,那么请往下看

<el-input v-model="ruleForm.name" :rules="ruleForm.is_default_address == '1' ? rules : false"></el-input>

在这里插入图片描述

在这里插入图片描述
当校验是在行内时:
那么此时的校验判断就应该写在标签内,比如下图这样,但是为1后的rules应该要精确到他的指定属性,如果prop是name,那他就应该是rules.name

<el-input v-model="ruleForm.name" :rules="ruleForm.is_default_address == '1' ? rules.name : false"></el-input>

在这里插入图片描述
或者另一种写法:不需要在data中定义,直接在标签内将需要提示的内容等一次性写完
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/xiaokangna/article/details/126015194