I created v-form like this
...
None of the answers did it. I was trying to get the validate then promise to work on a form.
As per comment
if you are building your vue component in typescript using
export default Vue.extend({})
then do
import { ValidationObserver, ValidationProvider, extend } from "vee-validate";
import { required } from "vee-validate/dist/rules";
import Vue, { VueConstructor } from "vue";
export default (Vue as VueConstructor<
Vue & {
$refs: {
form: InstanceType;
};
}
>).extend({
methods: {
saveEntity() {
if (this.loading) return;
console.log(this.entity);
this.$refs.form.validate().then(success => {
if (!success) {
console.log("not valid");
return;
}
console.log("valid");
});
}
}
})
This validates the ValidationObserver ref="form" just fine.