【问题标题】:Vee validate get previous value after vue setVee 验证在 vue 设置后获取先前的值
【发布时间】:2019-08-09 18:00:38
【问题描述】:

我想通过代码更新 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 验证方法的最新值?

【问题讨论】:

    标签: javascript vuejs2 vuex vee-validate


    【解决方案1】:

    试试这个:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-20
      • 1970-01-01
      • 2020-02-29
      • 2020-11-21
      • 1970-01-01
      • 2021-05-27
      • 1970-01-01
      • 2023-03-12
      相关资源
      最近更新 更多