最近在开发管理系统支持国际化,遇到了一个问题,但表单规则校验的时候,切换语言然后表单规则验证的提示没有跟着改变
解决方法
computed: {
// 表单校验
rules(){
const equalToPassword = (rule, value, callback) => {
if (this.user.newPassword !== value) {
callback(new Error(this.$t('rule.conpsdmsg')));
} else {
callback();
}
};
return {
oldPassword: [
{ required: true, message: this.$t('rules.oldPassword'), trigger: "blur" }
],
newPassword: [
{ required: true, message: this.$t('rules.newPassword'), trigger: "blur" },
{ min: 6, max: 20, message: this.$t('rules.newPsdlen'), trigger: "blur" }
],
confirmPassword: [
{ required: true, message: this.$t('rules.confirmPassword'), trigger: "blur" },
{ required: true, validator: equalToPassword, trigger: "blur" }
]
}
}
},
不能把rules放在data中,使用了computed计算属性