zoukankan      html  css  js  c++  java
  • Spring validation中自定义的校验错误提示信息如何支持国际化

      Spring validation的基本使用可以参考这个链接:点击进入

      这一章将讲述如何让自定义的校验提示信息支持国际化,在这里我只列举了支持中文、英文 具体的实现步骤,过程如下:

      (1)将message消息从注解中迁移至配置文件

      在resources目录下创建ValidationMessages.properties文件,文件名必须保持一致;将@NotEmpty(message = "身份证号不能为空")的message消息放置在资源文件中,如下所示:

    @NotEmpty(message = "{NotEmpty.personProfileDo.id}")
    private String id;

      ValidationMessages.properties文件内容如下:

     NotEmpty.personProfileDo.id = 身份证号不能为空

      说明:建议给资源文件中的key命名时采用“注解名称.类名.字段名”的形式,注解名称、类名、字段名之间采用点号隔开。

      如果只是想支持某一种语言,并且将message的内容从注解中解脱出来,放置在资源配置文件中方便管理,那么上述这样处理就可以了。

      (2)支持中、英文双语提示

      在resources目录下创建ValidationMessages_zh.properties(或者ValidationMessages_zh_CN.properties)、ValidationMessages_en.properties(或者ValidationMessages_en_US.properties),同时可以将ValidationMessages.properties文件删除。

      ValidationMessages_zh.properties(或ValidationMessages_zh_CN.properties)文件内容如下:

      NotEmpty.personProfileDo.id = 身份证号不能为空

          ValidationMessages_en.properties(或ValidationMessages_en_US.properties)文件内容如下:

      NotEmpty.personProfileDo.id = the ID should be not empty

      (3)测试结果

      在中文条件下发起的请求,效果如下:

      在英文条件下发起的请求,效果如下:

      从上面的两幅图可知,已经现实了校验提示信息支持中英文了。

  • 相关阅读:
    centos7安装zabbix3.4
    Linux修改网卡名称enss33到eth0--Ubuntu16和centos7
    记一次zabbix server挂掉的事件
    angularJs 技巧总结及最佳实践
    Yii2中的format
    本博客停止更新,新内容在个人网站上
    说下browserslist
    Yii2 软删除
    vue-webpack-boilerplate分析
    Node总结 模块机制
  • 原文地址:https://www.cnblogs.com/bien94/p/12383891.html
Copyright © 2011-2022 走看看