Vuelidate - 错误验证逻辑

Vuelidate - Error Validation Logic

关于vuetify的表单验证(使用vuelidate)的官方例子有

<v-text-field
  v-model="name"
  :error-messages="nameErrors"
  :counter="10"
  label="Name"
  required
  @input="$v.name.$touch()"
  @blur="$v.name.$touch()"
></v-text-field>

nameErrors 是一个计算方法,returns 字段的所有错误。

  nameErrors () {
    const errors = []
    if (!this.$v.name.$dirty) return errors
    !this.$v.name.maxLength && errors.push('Name must be at most 10 characters long')
    !this.$v.name.required && errors.push('Name is required.')
    return errors
  },

谁能解释一下这条线的意义所在

if (!this.$v.name.$dirty) return errors

如果字段没有被修改(不是 $dirty),为什么 return 错误数组为空?

如果您查看 v-text-field 的文档,error-messages 的默认属性值是空数组 []

https://vuetifyjs.com/en/components/text-fields

即使输入没有被触及并且不是 $dirty,该函数的默认 return 也应该总是 return 一个空数组,否则我确信 Vuetify 组件会抛出一个错误。