当前位置: 首页 > news >正文

el-form表单动态校验(场景: 输入框根据单选项来动态校验表单 没有选中的选项就不用校验)

el-form表单动态校验

el-form常规校验方式:

// 结构部分
<el-form ref="form" :model="form" :rules="rules"><el-form-item label="活动名称: " prop="name" required><el-input v-model="form.name" /></el-form-item>
</el-form>// script部分
<script>
export default {data() {return {form: {},rules: {name: [{ required: true, message: '请输入活动名称', trigger: 'blur' }]}}}
}save() {this.$refs.form.validate((valid) => {if (valid) {console.log('通过表单校验')}})
}

正题部分-表单动态校验
场景: 输入框根据单选项来动态校验表单
没有选中的选项就不用校验
在这里插入图片描述
效果: 在这里插入图片描述

<el-form ref="form" :model="form" :rules="rules"><el-form-item label="跳转类型: " prop="skipType" required><el-radio-group v-model="form.skipType""><el-radio :label="0" style="display: block; margin: 10px 0">无跳转</el-radio><div><el-radio :label="1" style="display: inline-block; margin: 11px 0">小程序内页</el-radio><el-form-itemlabel=""label-width="0"style="display: inline-block; height:20px"prop="insidePage":rules="form.skipType === 1 ? rules.insidePage : []":required="form.skipType === 1"><!-- :rules="[{ required: true, message: '请输入小程序页面路径', trigger: 'blur' }]" --><el-inputv-model.trim="form.insidePage"placeholder="输入小程序页面路径"autocomplete="off"maxlength="20"style="width: 160px; margin-left: 10px"/></el-form-item></div><div><el-radio :label="2" style="display: inline-block; margin: 11px 0 14px">外部小程序</el-radio><el-form-itemlabel=""label-width="0"style="display: inline-block"prop="outsideAppId":rules="form.skipType === 2 ? rules.outsideAppId : []":required="form.skipType === 2"><el-inputv-model.trim="form.outsideAppId"placeholder="输入小程序APPID"autocomplete="off"maxlength="20"style="width: 160px; margin-left: 10px"/></el-form-item></div></el-radio-group></el-form-item>
</el-form>// script部分
<script>
export default {data() {return {form: {},rules: {skipType: [{ required: true, message: '请选择跳转类型', trigger: 'change' }],insidePage: [{ required: true, message: '请输入小程序页面路径', trigger: 'blur' }],outsideAppId: [{ required: true, message: '请输入小程序appid', trigger: 'blur' }]}}}
}save() {this.$refs.form.validate((valid) => {if (valid) {console.log('通过表单校验')}})
}

关键点: 跟正常校验流程不同的是, el-form-item标签内的required和rules都要加上判断条件

:rules="form.skipType === 1 ? rules.insidePage : []"
:required="form.skipType === 1" 
http://www.lryc.cn/news/162408.html

相关文章:

  • Java 数据结构与算法应该如何学习?
  • 力扣(LeetCode)算法_C++——有效的数独
  • 制造企业如何优化物料控制?
  • 《Go语言在微服务中的崛起:为什么Go是下一个后端之星?》
  • 因为axios请求后端,接收不到token的问引出的问题
  • Stable Diffusion 免费升级 SDXL 1.0,哪些新特性值得关注?体验如何?5 分钟带你体验!
  • 【广州华锐互动】煤矿设备AR远程巡检系统实现对井下作业的远程监控和管理
  • C语言与Java语言传输数据 需要转位
  • Framework开发——系统默认语言修改
  • 浅谈原型链
  • 合宙Air724UG LuatOS-Air LVGL API控件-截屏(Screenshots)
  • 【系统设计系列】 负载均衡和反向代理
  • Halcon实现3维点云平面拟合
  • 安全学习DAY23_CookieSessionToken
  • C++ map clear内存泄漏问题
  • 【鲁棒电力系统状态估计】基于投影统计的电力系统状态估计的鲁棒GM估计器(Matlab代码实现)
  • 怎么判断一个ip地址是否正确
  • Git:git clone 之 --recursive 选项
  • 并查集介绍和常用模板
  • 解决deepspeed框架的bug:不保存调度器状态,模型训练重启时学习率从头开始
  • Linux ipc通信(消息对列)
  • 【计算机网络】 ARP协议和DNS协议
  • 【逐步剖C++】-第一章-C++类和对象(上)
  • 索尼 toio™ 应用创意开发征文|探索创新的玩乐世界——索尼 toio™
  • 企业架构LNMP学习笔记23
  • 第六章 图 五、图的深度优先遍历(DFS算法)
  • React 中的 useLayoutEffect 钩子函数
  • upload-labs1-21关文件上传通关手册
  • MATLAB遗传算法求解生鲜货损制冷时间窗碳排放多成本车辆路径规划问题
  • 界面控件DevExpress .NET应用安全 Web API v23.1亮点:支持Swagger模式