vue.js VeeValidate/i18 n在v4中使用不同的语言

hts6caw3  于 2023-08-07  发布在  Vue.js
关注(0)|答案(1)|浏览(132)

我一直在使用VeeValidate v2,遇到了类似这样的问题:

VeeValidate.Validator.localize('en', customErrors);

const customErrors = {
custom: {
  someField: {
    required: 'error.required',
  },
  ...
}}

字符串
我有JSON文件,例如en.json,de.json,fr.json等。看起来像这样:

// en.json
{
  "something": {
     "something1": "phrase1",
     "something2": "phrase2",
   }
  "error": {
     "required": "Field is required"
   }
}


在v2中,这起了作用,错误被翻译。
由于Vue更新到v3,我将vee-validate更新到v4,我不知道如何实现相同的效果。
现在我有了

import { configure } from 'vee-validate';

// VeeValidate.Validator.localize('en', customErrors);

configure({
  generateMessage: localize('en', customErrors)
 });


我也改了customErrors

const customErrors = {
    fields: {
      someField: {
        required: 'error.required',
      },
      ...
    }}


使用此配置,我的错误只是error.required,而不是JSON文件中此字段的值。
有人能帮忙吗?

pzfprimi

pzfprimi1#

根据documentation,包含错误消息的文件应该具有正确的结构。
消息应该是消息数据的子级

messages: {
  between: 'The {field} value must be between 0:{min} and 1:{max}',
},

字符串

相关问题