【问题标题】:How to customize “required” error messages for ValidationProvider using a dictionary on VeeValidate (Vue.Js)如何使用 VeeValidate (Vue.Js) 上的字典为 ValidationProvider 自定义“必需”错误消息
【发布时间】:2019-03-10 14:18:54
【问题描述】:

我想在我的组件 MyInput 没有填写“cpf”规则时更改错误消息(换句话说,当一个组件具有 “cpf”规则不满足“必需”规则)。

我认为带有自定义消息的“字典方法”应该可以完成工作,但我无法使其工作。

使用下面的代码,显示的错误消息是“O campo cpf é obrigatório”。我想在 ("Favor preencher o cpf") 下方的字典中显示消息。我认为由于某种原因没有考虑字典

在我的 ma​​in.js 中,我有以下代码:

import Vue from 'vue';
import App from './App.vue';
import './core/extensions';

new Vue({
  render: h => h(App),
}).$mount('#app');

extensions.js 上:

import Vue from 'vue';
import VeeValidate, { Validator } from 'vee-validate';
import ptBR from 'vee-validate/dist/locale/pt_BR';

const dict = {
   messages: ptBR.messages,
   pt_BR: {
     custom: {
        cpf: {
          required: 'Favor preencher o cpf',
        },
      }
    },
  };

Vue.use(VeeValidate);

Validator.localize({ pt_BR: dict })

Validator.extend('cpf', (val) => {
     return false //just to test
});

App.vue(简单示例):

<template>
    <div id="app">
     <ValidationObserver ref="observer">
         <ValidationProvider ref="cpfinput" rules="cpf" name="CPF">
            <myInput
              slot-scope="{ errors }"
              :errorProp="errors"
              name="cpf"
            />
          </ValidationProvider>
      </ValidationObserver>    
    </div>
</template>

我正在使用vee-validate 2.1.5vue 2.5.17

【问题讨论】:

    标签: javascript vue.js vuejs2 vee-validate


    【解决方案1】:

    像这样传递你的字典,它应该可以工作:

    const dict = {
      messages: ptBR.messages,
      pt_BR: {
        custom: {
          cpf: {
            required: 'Favor preencher o cpf',
          },
        }
      },
    };
    Vue.use(VeeValidate, {
      locale: 'pt_BR',
      dictionary: dict
    });
    

    【讨论】:

    • 使用您的建议,显示的错误是英文(“CPF 值无效”),字典似乎不起作用
    • 您能提供一个带有工作示例的 JSFiddle 吗?
    • 当然。这是一个工作codesandbox。也许你的配置比这个例子复杂得多。
    • 谢谢!对于组件化输入,这对我有用codesandbox.io/s/5xo48x1qkp
    猜你喜欢
    • 2019-07-23
    • 1970-01-01
    • 2020-04-06
    • 1970-01-01
    • 2017-08-21
    • 1970-01-01
    • 2015-09-22
    • 2019-07-27
    • 2020-07-23
    相关资源
    最近更新 更多