我们在使用uview的时候有些表单项是不允许用户修改的,对应input绑定的数据是用户点击选择框获得的,所以我们在input上写了disabled属性来禁用输入框,但是禁用之后无法触发表单校验的change以及blur,当表单校验不通过,即使后面我们的数据是通过验证的但是提示消息依然存在,虽然可以通过表单验证,但是造成用户体验不好。后面我在想不使用disabled使用readonly但是发现uniapp不支持这个属性。
photo: [
{
// 自定义验证函数,见上说明
validator: (rule, value, callback) => {
if (this.form.imgUrl) {
return true
}
if (!this.form.imgUrl) {
return false
}
},
message: '请选择图片',
// 触发器可以同时用blur和change
trigger: ['blur', 'change'],
},
],
以上校验规则无法触发触发器,只有调用表单校验方法的时候提示才会消失
我的解决思路,不在表单校验上述表单项,在用户点击提交的时候自己写方法判断,要是判断不通过则弹框提示