Vee 验证在 vue 设置后获取以前的值

Vee validate get previous value after vue set

我想通过代码更新 v-model 值并验证该字段。所以我使用 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 验证方法中获取最新值?

试试这个:

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
            });
        } 
    });
});