[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 或组件级别导入
我想对密码匹配进行验证,但出现以下错误:
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 或组件级别导入