[Vue 警告]: 属性 或方法“$v”未定义

[Vue warn]: Property or method "$v" is not defined

我想对密码匹配进行验证,但出现以下错误:

vue.runtime.esm.js?2b0e:619 [Vue warn]: Property or method "$v" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by initializing the property. See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.

main.js

import Vue from 'vue';
import Vuelidate from 'vuelidate';
import VueTheMask from 'vue-the-mask';

Vue.use(Vuelidate, VueTheMask);

Vue.config.productionTip = false;

new Vue({
  router,
  store,
  vuetify,
  render: h => h(App)
}).$mount('#app')

我的表格

...

<form action="#" method="GET" @submit.prevent="pswResetHendler">
    <label class="input__label" for="psw">Yangi parolni kiriting</label>
    <input
        class="input input__psw"
        type="password"
        name="psw"
        required
        v-model="password"
        :class="{ 'is-invalid': $v.password.$error }"
    />
    <label class="input__label" for="psw">Yangi parolni qayta kiriting</label>
    <input
        class="input input__psw"
        type="password"
        name="psw"
        v-model="confirmPassword"
        :class="{ 'is-invalid': $v.confirmPassword.$error }"
    />
    <span
        class="input__error match-error"
        v-if="!$v.confirmPassword.sameAsPassword"
        >Kiritilgan parollar bir xil bo’lishi lozim, Qayta urinib ko’ring!</span
    >
    <button class="login-btn" type="submit">KIRISH</button>
</form>
 ...

<script>
import { sameAs } from "vuelidate/lib/validators";
export default {
    name: "password-reset",
    data() {
        return {
            password: "",
            confirmPassword: "",
        };
    },
    methods: {
        pswResetHendler() {
            this.$v.$touch();
            if (this.$v.$invalid) {
                return;
            }
            this.$router.push("/");
        },
    },
    validation: {
        confirmPassword: { sameAsPassword: sameAs("password") },
    },
};
</script>

请帮帮我,我一天都解决不了这个问题((((

替换下面一行

Vue.use(Vuelidate, VueTheMask);

来自

Vue.use(Vuelidate);
Vue.use(VueTheMask);

有关详细信息,请查看此 article

我真的很抱歉大家) 属性 validations 我写错了。我写了

 validation: {
        confirmPassword: { sameAsPassword: sameAs("password") },
 },

我不得不写

而不是这个
 validations: {
        confirmPassword: { sameAsPassword: sameAs("password") },
 },
import Vue from 'vue'
import Vuelidate from 'vuelidate'
Vue.use(Vuelidate);  

在 main.js 或组件级别导入