0

我正在使用 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

4

0 回答 0