Vuelidate на Vue js 3
Тут пишет $v - undefined
<template>
<form class="auth-form" @submit.prevent="submitHandler">
<h1>Авторизация</h1>
<input
type="text"
name="login"
placeholder="Логин"
v-model.trim="login"
:class="{ invalid: ($v.login.$dirty && !$v.login.required) }">
<input type="password" name="password" placeholder="Пароль" v-model.trim="password">
<button class="btn" type="submit">
<span class="top"></span>
<span class="left"></span>
Войти
<span class="bottom"></span>
<span class="right"></span>
</button>
<router-link tag="a" to="/register">Нет аккаунта? Зарегистрируйтесь.</router-link>
</form>
</template>
<script>
import { required, minLength } from 'vuelidate/lib/validators';
export default {
name: 'login',
data: () => ({
login: '',
password: ''
}),
validations: {
login: { required },
password: { required, minLength: minLength(6) }
},
methods: {
submitHandler() {
if(this.$v.$invalid) {
this.$v.$touch();
return;
}
this.$router.push('/');
}
}
}
</script>
main.js:
import { createApp } from 'vue';
import Vuelidate from 'vuelidate';
import App from './App.vue';
import router from './router';
import store from './store';
const app = createApp(App);
app.use(store);
app.use(router);
app.mixin(Vuelidate);
app.mount('#app');
При app.use(Vuelidate) пишет "Cannot read property 'super' of undefined"