gpt4 book ai didi

javascript - 如何将 VeeValidate 与 vue-i18n 集成?

转载 作者:行者123 更新时间:2023-12-01 15:42:04 26 4
gpt4 key购买 nike

通过单击事件,我更改了 vue-i18n 语言,我想将 vee-validate 字典更改为相同的语言
main.js

import VeeValidate from 'vee-validate'
import validations from './validations.js'
import i18n from './lang'
Vue.use(VeeValidate)
new Vue({
router,
store,
i18n,
render: h => h(App)
}).$mount('#app')
vue-i18n 文件夹 > lang/index.js
import Vue from 'vue'
import VueI18n from 'vue-i18n'
import en from './locals/en'
import es from './locals/es'

Vue.use(VueI18n)

export default new VueI18n({
locale: 'en',
messages: {
en: {
lang: en
},
es: {
lang: es
}
}
})
vee-validate 文件夹 > src/validations.js
import {Validator} from 'vee-validate'
const dictionary = {
en: {
custom: {
signupEmail: {
required: 'Error',
},

}
},
es: {
custom: {
signupEmail: {
required: 'Hubo un error',
},

}
}
}
Validator.localize(dictionary)
const validator = new Validator()
validator.localize('en')
export default Validator
我试图定位validator.localize('en')并且我无法更改为es字典,即使我手动更改它validator.localize('es')。我缺少什么?

最佳答案

看起来你很接近,但缺少一些关键部分。
您可以pass an object像这样连接 VeeValidate 时:

Vue.use(VeeValidate, {
i18nRootKey: 'custom', // customize the root path for validation messages.
i18n,
dictionary: {
en: {
custom: {
signupEmail: {
required: 'Error',
},
}
},
es: {
custom: {
signupEmail: {
required: 'Hubo un error',
},
}
}
}
});
显然我只是将您的字典内联在这里,最好将其保存为单独的文件并以这种方式导入。

关于javascript - 如何将 VeeValidate 与 vue-i18n 集成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62582753/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com