Как настроить «обязательные» сообщения об ошибках для ValidationProvider, используя словарь на VeeValidate (Vue.Js) - PullRequest
0 голосов
/ 10 марта 2019

Я хотел бы изменить сообщение об ошибке, когда мой компонент MyInput с правилом "cpf" не заполнен (другими словами, когда компонент с правилом "cpf" не сделалне удовлетворяет правилу «required» ).

Я думаю, что «метод словаря» с пользовательскими сообщениями должен работать, но я не мог заставить его работать.

При показанном ниже коде отображается сообщение об ошибке «O campo cpf é obrigatório».Я хотел бы отобразить сообщение в словаре dict ниже ("Favor preencher o cpf") .Я думаю, что словарь по какой-то причине не рассматривался

В моем main.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.5 и vue 2.5.17

1 Ответ

1 голос
/ 10 марта 2019

Передайте словарь так, как он должен работать:

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