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>
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.