Vee-validate 和 Vue-I18n 本地化不起作用

Posted

技术标签:

【中文标题】Vee-validate 和 Vue-I18n 本地化不起作用【英文标题】:Vee-validate and Vue-I18n localization not working 【发布时间】:2021-08-03 21:49:58 【问题描述】:

我正在使用使用

“vee-validate”:“3.0.0”, “vue”:“2.6.10”, “vue-i18n”:“8.14.0”

我正在尝试更改自定义规则的 vee-validate 消息中的语言。验证本地化不会改变。我做错了什么?

这是我的代码沙箱:

https://codesandbox.io/s/veevalidate-30-vuei18n-integration-forked-o3frf?file=/src/components/Example.vue

正如我们所见,我可以更改 i18n.locale,但它不会更新来自 vee-validate V3.0.0 的消息

感谢您的帮助!

【问题讨论】:

【参考方案1】:

您必须将回调传递给自定义消息,而不是翻译后的值,因此当语言环境更改并生成新消息时会调用它。

vee-validate.js

extend("atLeastOneDigit", 
  validate(value) 
    var digitPattern = /\d+/g;
    return value.match(digitPattern) != null;
  ,
  message: () => i18n.t("pwDigitError")
);

【讨论】:

以上是关于Vee-validate 和 Vue-I18n 本地化不起作用的主要内容,如果未能解决你的问题,请参考以下文章

2分钟入门了解vue-i18n

vue-i18n和ElementUI国际化使用总结

vue-i18n 的用法

vue-i18n 多语言开发

vue-i18n 多语言开发

前端使用vue-i18n做中英文翻译