element表单动态校验遇到的坑

项目场景:

项目需求:用户通过选择”通过“或”未通过“,来动态切换需要验证的表单项
例如:项目场景:示例:通过时,只需要校验结果和审批时间选项,不通过时,需要校验结果,审批时间,最终得分,开始时间,结束时间等等


问题描述:

提示:这里描述项目中遇到的问题:
动态切换通过未通过,除结果和审批时间之外,其余校验项没有起作用
以下代码editForm.pass动态切换值,prop验证失效

<el-form-item label="开始日期" :prop="editForm.pass === true ? 'creditDate' : ''">
   <el-date-picker
       type="date"
       placeholder="开始日期"
       v-model="editForm.creditDate"
       value-format="yyyy-MM-dd"
       style="width: 100%;"
       :picker-options='pickerOptionsBefore'
     ></el-date-picker>
 </el-form-item>

解决方法:


原因分析:

原因暂时不明


解决方案:

<el-form-item label="开始日期" :prop="editForm.pass === true ? 'creditDate' : 'todo'">  //todo 可以为任意字符串
   <el-date-picker
       type="date"
       placeholder="开始日期"
       v-model="editForm.creditDate"
       value-format="yyyy-MM-dd"
       style="width: 100%;"
       :picker-options='pickerOptionsBefore'
     ></el-date-picker>
 </el-form-item>

element表单的一个小bug,在动态使用自定义校验规则时,若prop的值没有值,则校验不会触发,prop一定要有值才可以。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值