vant2 vue2 两个输入框联动验证遇到的问题
需求是两个输入框,一个输上限A,一个输下限B
<van-fieldv-model="formData.upperLimit"name="upperLimit"type="number"label="上限"required:formatter="formatter"/><van-fieldv-model="formData.lowerLimit":rules="[{ required: true, message: '请输入预警下限' },{validator: (val) => {return val < this.formData.comUpperLimit},message: '下限必须小于上限'}]"name="lowerLimit"type="number"label="下限"required:formatter="formatter"/>
下限输入时能正常触发验证,但是当输入上限时,下限的验证无法被触发
所以在上限输入时 触发验证
this.$refs.formRef.validate();
但实际开发过程中发现验证不会更新保持一直飘红或不触发验证,导致我一直怀疑方法是不是用的不对
退回到原本的只验证下限,发现 上限输入12,下限输入2 都还是飘红
所以打印了数据类型,发现被数据类型变成了string。
所以加上类型转换,再次测试
[{ required: true, message: '请输入预警下限' },{validator: (val) => {return Number(val) < Number(this.formData.comUpperLimit)},message: '下限必须小于上限'}]
上下限联动成功