SpringMVC数据校验国际化自定义错误信息

1、编写国际化的文件


1.1、编写properties文件,例如:errors_ch_CN.properties、errors_en_US.properties

 

1.2、编写文件内容时需要注意key=value的key的取值,需要校验的字段发生错误都会有自己的错误代码,国际化文件错误消息必须对应一个错误代码,错误代码可以通过BindingResult.getFieldErrors()获取所有发生错误的字段,遍历List<FieldError>获取的code错误代码,例如Email发生错误的code代码如下:

codes [

Email.person.email,

Email.email,

Email.java.lang.String,

Email]; 

 

1.3、四种错误代码从上到下越来越模糊匹配,配置文件有多个,精确优先

codes[

校验规则.隐含模型中对象的key.对象的属性

校验规则.属性名

校验规则.属性类型

校验规则]

 

1.4、配置完国际化文件后需要让SpringMVC管理配置文件,id必须是messageSource

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
                <property name="basename" value="errors"></property>
       </bean>

 

2、高级国际化


2.1、动态传入消息参数

         Length.java.lang.String = length incorrect {0} {1} {2}。。

         {0}:永远是当前属性名

         {1}、{2}匹配注解上参数,大小写顺序

 

2.2、注释上直接表明错误消息

         注释上有个属性是message,直接写上错误信息即可,缺点不能国际化

         @Min(value = 18,message = "年龄不可小于18")

发布了19 篇原创文章 · 获赞 6 · 访问量 9940

猜你喜欢

转载自blog.csdn.net/wx774891/article/details/100130675