Spring validation中自定义的校验错误提示信息如何支持国际化

Posted Bien94

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)测试结果

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

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

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

以上是关于Spring validation中自定义的校验错误提示信息如何支持国际化的主要内容,如果未能解决你的问题,请参考以下文章

基于Spring Validation自定义校验注解

基于Spring Validation自定义校验注解

spring validation的使用与自定义校验注解

httprunner自定义校验器(validate)整理

Spring Boot 参数校验

Spring Validation最佳实践及其实现原理,参数校验没那么简单!