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)测试结果

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

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

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

posted @ 2020-02-29 17:18  晒太阳的兔子很忙  阅读(3887)  评论(0编辑  收藏  举报