Vee validate получает предыдущее значение после набора vue - PullRequest
2 голосов
/ 19 марта 2019

Я хочу обновить значение 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 .Есть ли способ получить последнее значение в методах проверки vee-validator после vue.set?

1 Ответ

2 голосов
/ 19 марта 2019

Попробуйте это:

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