javascript - Vee 验证在 vue 设置后获取先前的值
问题描述
我想通过代码更新 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
});
}
});
});
推荐阅读
- .net - 防止错误无法在某些服务器上创建 SSL/TLS 安全通道
- asp.net - 我们可以使用“dotnet run”在没有项目文件且仅使用二进制文件的情况下运行 ASPnet Core 应用程序吗
- javascript - Material UI - 错误:使用 create-react-library + MUI 的挂钩调用无效
- java - 自定义操作实施 Magnolia CMS
- arrays - 如何让猫鼬将一组 url 推送到数组子文档
- angular - 离子 - amcharts4 - 对象原型可能只是一个对象或空:未定义
- terraform - Lambda 资源中变量引用的 Terraform 错误,甚至不会被创建
- java - 如何使用 JOptionPane 创建菜单
- java - 通过 Java 程序发送电子邮件
- android - 如何对齐两个相邻的按钮?