Vue-使用i18n实现中英文切换功能,表单验证的时候 提示不更新
时间: 2024-03-11 17:49:15 浏览: 139
这可能是因为在表单验证时,提示信息被缓存了,没有及时更新。你可以尝试在每次切换语言时,手动清除表单验证的缓存,以确保提示信息可以更新。具体的做法是在语言切换的回调函数中,使用 `$validator.reset()` 方法来重置表单验证器。例如:
```javascript
this.$i18n.locale = lang // 切换语言
this.$validator.reset() // 重置表单验证器
```
这样就可以在语言切换时,清除表单验证缓存,确保提示信息可以更新了。
相关问题
Vue 在使用i18n实现中英文切换功能,表单验证的时候 提示不进行语言切换 这个要怎么写
如果你想在表单验证时,使用当前语言的提示信息,可以在表单验证的规则中,使用 `$t()` 方法来动态获取对应语言的提示信息。具体的做法是在验证规则的 `message` 属性中,使用 `$t()` 方法来获取对应语言的提示信息。例如:
```javascript
export default {
data() {
return {
form: {
name: '',
age: '',
},
rules: {
name: [
{ required: true, message: this.$t('validation.required') }, // 使用 $t() 方法
],
age: [
{ required: true, message: this.$t('validation.required') }, // 使用 $t() 方法
{ type: 'number', message: this.$t('validation.number') }, // 使用 $t() 方法
],
},
};
},
};
```
这样就可以在表单验证时,动态获取当前语言的提示信息了。当你切换语言时,提示信息也会随之更新。
阅读全文