我想通过代码更新v模型值并验证该字段。因此,我正在使用 vue.set 方法更新值,然后调用 $ validator.validate 。 我的代码就是这样。
Vue.set(model,property, value);
vm.$validator.validate(property).then(function (valid) {
if (!valid) {
vm.$validator.flag(property, {
touched: true,
dirty: true
});
}
});
我的验证规则代码是这样的:
Validator.extend("val_compulsory", {
getMessage(field, args) {
return args[0];
},
validate(value) {
return {
valid: !!value,
data: {
required: true
}
};
}
}, { computesRequired: true });
但是在val_compulsory验证程序中,我总是得到先前的值,该值在 vue.set 之前。在vue.set之后,有什么方法可以获取vee-validator验证方法的最新价值?
答案 0 :(得分:2)
尝试一下:
Vue.set(model,property, value);
vm.$nextTick(function() {
vm.$validator.validate(property).then(function (valid) {
if (!valid) {
vm.$validator.flag(property, {
touched: true,
dirty: true
});
}
});
});