首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vuelidate错误验证逻辑

Vuelidate错误验证逻辑
EN

Stack Overflow用户
提问于 2018-06-07 16:33:17
回答 1查看 1.2K关注 0票数 0

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

代码语言:javascript
复制
<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是一个计算方法,它返回字段的所有错误。

代码语言:javascript
复制
  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
  },

有人能解释一下这条线的意思吗?

代码语言:javascript
复制
if (!this.$v.name.$dirty) return errors

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-07 17:27:28

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

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50746200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档