vee-validate error object - _vm.errors is undefine

2019-05-23 17:02发布

This is my .vue component file in which I wasn't to use Vue.use() to install vee-validate validation package. The module, as mentioned in the docs, will inject an errors object to the data object.

But I do get the error _vm.errors is undefined. I'm not sure if I'm instantiating it properly.

Also, will import Vue from 'Vue' and Vue.use(VeeValidate) "use" vee-validate for only this component?(which is what I want it to do).

<template>
<input class="form-control" name="name" placeholder="Name" type="text" v-model="player.name" v-validate data-vv-rules="alpha|min:2|max:50" :class="{'input': true, 'is-danger': errors.has('name') }">
</template>

<script>
import Vue from 'Vue';
import VeeValidate from 'vee-validate';
Vue.use(VeeValidate);

export default {
  data() {
    return {
      // errors: '',
      showForm: false,
      player: null
    }
  }
}
</script>

1条回答
老娘就宠你
2楼-- · 2019-05-23 17:23

I had a sort alike issue but I am using these versions:

"vee-validate": "^2.0.0-rc.21", "vue": "^2.5.2",

and in that case you can access the errors collection using: this.$validator.error

see specs off vee-validate: http://vee-validate.logaretm.com/api.html#error-bag

scroll down and you see this:

Validator

The validator is injected to the Vue instance as $validator automatically. However it is also a standalone class and can be used separately for programmatically validating values. The constructor can optionally take an object to map each field name to a set of validations.

查看更多
登录 后发表回答