首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NuxtJS - vee-validate不返回自定义消息

NuxtJS - vee-validate不返回自定义消息
EN

Stack Overflow用户
提问于 2020-03-20 00:32:38
回答 2查看 310关注 0票数 0

vee-validate.js

代码语言:javascript
复制
import { extend } from 'vee-validate'
import * as rules from 'vee-validate/dist/rules'

const phone = {
  getMessage (field) {
    return `The ${field} must be a valid phone number`
  },
  validate (value) {
    const PhoneNumber = require('awesome-phonenumber')
    const pn = new PhoneNumber(value)
    return pn.isValid()
  }
}

extend('phone', phone)

组件中的用法:

代码语言:javascript
复制
 <ValidationProvider v-slot="{ errors }" rules="required|phone">
    <input
      v-model="number"
      placeholder="Ex. +13198832832"
      type="tel"
      name="phonenumber"
      label="Phone Number*"
      />
      <ValidationDisplay :message="errors[0]" />
 </ValidationProvider>

由于某些原因,验证消息总是:{field} is not valid.,而不是我指定的值。

EN

回答 2

Stack Overflow用户

发布于 2020-03-28 23:21:01

您需要在ValidationProvider组件上提供一个字段名。这就是错误消息中使用的内容。

代码语言:javascript
复制
<ValidationProvider v-slot="{ errors }" rules="required|phone" name="Phone Number">
    <input
      v-model="number"
      placeholder="Ex. +13198832832"
      type="tel"
      name="phonenumber"
      label="Phone Number*"
      />
      <ValidationDisplay :message="errors[0]" />
 </ValidationProvider>
票数 1
EN

Stack Overflow用户

发布于 2021-07-20 06:51:36

对于像我这样的未来谷歌旅行者来说

要解决此问题,您需要用message替换getMessage

所以你应该用

代码语言:javascript
复制
  message: field => {
    return `The ${field} must be a valid phone number`
  },
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60761328

复制
相关文章

相似问题

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