与Nuxt一起使用Vuelidate-即使满足条件,也始终看到错误

我正试图在我的Nuxt项目中使用Vuelidate。因此,我安装了Vuelidate软件包,然后在创建的plugins的{​​{1}}文件夹中:

vuelidate.js

并在import Vue from 'vue' import Vuelidate from 'vuelidate' Vue.use(Vuelidate) 中对其进行定义

nuxt.config.js

顺便说一句,尝试不使用plugins: [ {src: '~/plugins/directives.js'},{src: '~/plugins/vuelidate.js',mode: 'client'} ],,仅使用字符串数组-结果相同。

现在在我的组件中,有以下(验证)文本字段:

mode

我的进口:

<v-text-field
  id='firstName'
  v-model='formData.firstName'
  label='First Name'
  name='firstName'
  prepend-icon='person'
  type='text'
  :error-messages='firstNameErrors'
  @blur='$v.formData.firstName.$touch'
  @input='$v.formData.firstName.$touch'
/>

其余的代码:

import { validationmixin } from 'vuelidate'
import {
  required,minLength,} from 'vuelidate/lib/validators'

因此,我正在尝试验证firstName至少包含2个字符。开始输入后,我确实会看到错误消息,但是在2个或更多字符处,错误仍然存​​在。

我尝试在计算属性中控制台日志export default { name: 'AuthForm',mixins: [validationmixin],validations: { formData: { firstName: { /*required: requiredIf(function() { return !this.isLogin }),*/ minLength: minLength(2) },},props: { formData: { type: Object,required: true,default: () => {} } },computed: { firstNameErrors() { const errors = [] if (!this.$v.formData.firstName.$dirty) { return errors } !this.$v.formData.firstName.minLength && errors.push('First name must be at least 2 characters long') // !this.$v.formData.firstName.required && errors.push('First name is required') return errors } } } ,但是一旦加载了组件并开始输入,它将被打印出来。如果我检查记录的对象,我确实会看到this.$v.formData的字符数超过2个,但是无论我尝试执行什么操作(例如,在调用{{之前先调用this.$v.formData.firstName.$model, 1}}再次输入,使用$reset作为方法,而不是通过计算等...)

完全相同的代码在我的Vue项目中对我有用,但是这是我第一次与Nuxt合作,我不确定为什么该代码会停止工作。我想念什么?

jackychen0116 回答:与Nuxt一起使用Vuelidate-即使满足条件,也始终看到错误

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2540941.html

大家都在问