我正在使用 vuelidate,它运行良好。但我想在自定义验证器中提出请求。见代码:
validations: {
partnumberValue: {
required,
isValid(value) {
if (value.length < 12 || value.length > 12) return false;
return new Promise((resolve, reject) => {
vm.http.get('/api/test/' + value).then((response) => {
resolve(response.json())
}, (response) => {
reject(response.status)
})
});
}
}
}
但我收到以下错误:
TypeError: Cannot read property 'get' of undefined
所以我认为我没有访问 vue 实例的权限?我试图将 vue 实例绑定到 window 对象,如下所示:
Vue.use(VueResource);
Vue.use(BootstrapVue);
Vue.use(Vuelidate);
const vm = new Vue({
el: '#app',
router,
template: '<App/>',
components: {
App
}
});
window.vm = vm;
我还尝试将这个实例全局保存在文件本身中。但这不起作用。如何在 vue 验证器中执行 http 请求?
图书馆: Vuelidator