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

其他工作日常分享:
统一输入框只能输入数字且不能小于1
使用循环总是拿到最后的值
将参数或者数据当做属性使用
工作日常分享:今天一个朋友问我,他有一个需求,就是怎么去动态控制表单的校验,下面图片举例,假设只有为是的时候才需要去校验,这种情况下要怎么处理。

image.png

方法:重点在于rules,可以通过设置true和false的方式去控制校验,为false的时候,校验就会不生效。需要主要数字是字符串还是数字类型,假设以这个是和否为例,只有为是的时候才触发校验,那么就设置为当这个参数为1的时候才触发校验,这种方法是最简单的,如果你的校验是在标签里的话,那么就需要另外设置,那么请往下看

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

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

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

或者另一种写法:不需要在data中定义,直接在标签内将需要提示的内容等一次性写完


image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容