解决Vue+Element UI使用表单rules国际化时From表单验证信息不能实时更新

说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家!

博主在工作之余开始进行自动化测试平台的开发,虽然已经996一个月了但是还是在使劲挤时间做这件事情,目前平台使用前端框架vue-element-admin进行简化后二次开发,目前保留了原框架中的国际化、主题色、全局搜索、字体大小以及右侧悬浮设置菜单,更多细节后续会在系列文章中进行更新~

问题描述

在默认中文时,点击登录或者失去输入框焦点时测试时,表单验证消息没有问题如图1,此时如果切换到英文时就会出现验证信息还是中文的情况如图2所示


点击注册按钮切换注册表单,此时会重置表单数据,所以不会出现验证提示信息与语言不符情况

解决方法

方法1

使用computed计算属性监控自己定义的变量

javascript 复制代码
computed: {
    loginRules() { // :rules="loginRules"
      return {
        username: [
          { required: true, message: this.$t('login.errUserNameMsg'), trigger: 'blur' }
        ],
        password: [
          { required: true, message: this.$t('login.errPasswordMsg'), trigger: 'blur' }
        ]
      }
    }
  }

方法2

通过watch监听切换中英文时,重置表单验证,这个是博主比较喜欢的,其实不需要保留上一次语言产生的验证提示,直接重置这样看着比较舒服干净,也不存在语言与提示信息不符的情况

js 复制代码
watch: {
  // 监听切换中英文时,重置表单验证
  '$i18n.locale': function() {
    this.$refs['loginForm'].clearValidate()
  }
}

最终效果

相关推荐
wuxia21183 小时前
在5种环境中编写点击元素改变内容和颜色的JavaScript程序
javascript·微信小程序·vue·jquery·react
Sweet锦4 小时前
Vue3 集成 ApexCharts 避坑指南:从动画失效到自定义指令的完美解决方案
vue·echarts
王小王-1231 天前
基于深度学习的个性化音乐推荐系统的设计与开发
人工智能·深度学习·mysql·vue·推荐算法·个性化音乐推荐系统·音乐预测
alexander0681 天前
使用vite脚手架,快速创建一个vue3的项目
vue
北极星日淘2 天前
可买免税店货物与安耐晒——特殊商品代购技术方案
javascript·vue.js·elementui
toooooop83 天前
UniApp Vue2 动态修改 SCSS 伪类颜色
vue
这是个栗子3 天前
微信小程序开发(九)- uni-app微信小程序商城
微信小程序·小程序·uni-app·vue·vuex
chushiyunen3 天前
vue插件element ui,element plus,ElMessage消息框,ref,动态绑定语法
vue.js·ui·elementui
鹤鸣的日常4 天前
前端运行时动态环境变量方案
前端·react.js·docker·前端框架·vue·gitlab
流浪码农~4 天前
Element Plus DatePicker 动态设置每周起始日
前端·vue.js·elementui