在我们的 Vue 应用程序中,我们使用Vuelidate进行表单验证。存在这种行为,即在页面呈现时验证字段,而应仅在表单提交中对其进行验证,如在提交处理中使用 $v.invalid 和 $v.touch() 的文档中所述。奇怪的是,在某些实现它的页面中,它运行良好。但有时,在其他页面中,它会以我不想要的方式验证,但我看不出在哪里可以解决这个问题。有人经历过吗?一些代码片段。
<input
id="name"
type="text"
name="name"
v-model="form.name"
:class="{
invalid:
!$v.form.name.required || !$v.form.name.minLength,
}"
/>
我的数据对象和验证
data: {
form: {
name: '',
birth: '',
parentage: '',
}
},
validations: {
form: {
name: { required, minLength: minLength(4) },
}
提交方法
async submit() {
this.$v.touch();
if (!this.$v.$invalid) {
console.log('Submit');
}
}