我正在尝试将 vuelidate 与 Vuetify 2 一起使用,但在尝试验证嵌套对象值时遇到了麻烦。
此代码工作正常:
<template>
<v-text-field
v-model="no_nome"
:error-messages="nameErrors"
label="Nome"
@input="$v.no_nome.$touch()"
@blur="$v.no_nome.$touch()"
>
</v-text-field>
</template>
<script>
import { required } from 'vuelidate/lib/validators'
export default {
data() {
return {
no_nome:'',
}
},
validations: {
no_nome: {
required
},
},
computed: {
nameErrors () {
const errors = []
if (!this.$v.no_nome.$dirty)
return errors
!this.$v.no_nome.required && errors.push('Name is required.')
return errors
},
}
}
</scrip>
但是,如果我将no_nome
数据更改为:
data() {
return {
user : {
no_nome:'',
}
}
},
和
<v-text-field
v-model="user.no_nome"
:error-messages="nameErrors"
label="Nome"
@input="$v.no_nome.$touch()"
@blur="$v.no_nome.$touch()"
>
</v-text-field>
运行后,即使不为空$vm0.$v.no_nome.$touch()
,$vm0.$v.no_nome.$invalid
也会始终返回。如何使验证适用于任何其他嵌套数据值?true
user.no_nome
user.no_nome