10. SpringMVC 数据验证例子3 - 添加国际化支持
2016-03-08 12:58
477 查看
本系列入门学习参考极客学院Spring入门系列视频学习记录总结而来
继续沿用SpringMVC数据验证例子2中的代码,添加国际化
resource中新建一个i18n目录
新建messages.properties,将JavaBean中的数据验证错误提示信息保存在国际化文件中
messages.properites:
修改JavaBean中的注解:
自定义数据验证注解类也必须进行修改:
修改springmvc.xml文件中的validator Bean:
继续沿用SpringMVC数据验证例子2中的代码,添加国际化
resource中新建一个i18n目录
新建messages.properties,将JavaBean中的数据验证错误提示信息保存在国际化文件中
messages.properites:
Between.user.age=\u5E94\u8BE5\u5728{min}\u4E0E{max}\u4E4B\u95F4 Pattern.user.password=\u5BC6\u7801\u662F6-30\u4E2A\u5B57\u7B26\uFF0C\u5FC5\u987B\u662F\u5B57\u6BCD\u6216\u6570\u5B57\u7EC4\u5408 Length.user.realName=\u975E\u6CD5\u771F\u5B9E\u59D3\u540D NotEmpty.user.userName=\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A Email.user.email=\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u90AE\u4EF6\u5730\u5740 NotNull.user.age=\u8BF7\u586B\u5165\u60A8\u7684\u5E74\u9F84
修改JavaBean中的注解:
@NotEmpty(message="{NotEmpty.user.userName}") private String userName ; @Pattern(regexp="[0-9a-zA-Z]{6,30}", message="{Pattern.user.password}") private String password ; @Length(min=2, max=100, message="{Length.user.realName}") private String realName ; @Email(message="{Email.user.email}") private String email ; @Between(min = 18 , max = 60) @NotNull(message = "{NotNull.user.age}") private Integer age ;
自定义数据验证注解类也必须进行修改:
import static java.lang.annotation.ElementType.ANNOTATION_TYPE; import static java.lang.annotation.ElementType.CONSTRUCTOR; import static java.lang.annotation.ElementType.FIELD; import static java.lang.annotation.ElementType.METHOD; import static java.lang.annotation.ElementType.PARAMETER; import static java.lang.annotation.RetentionPolicy.RUNTIME; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.Target; import javax.validation.Constraint; import javax.validation.Payload; /** * 新建自定义验证规则注解类 * 验证年龄范围 */ @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER }) @Retention(RUNTIME) @Documented @Constraint(validatedBy = {BetweenValidator.class}) public @interface Between { String message() default "{Between.user.age}"; Class<?>[] groups() default { }; Class<? extends Payload>[] payload() default {}; int min(); int max(); }
修改springmvc.xml文件中的validator Bean:
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"> <property name="providerClass" value="org.hibernate.validator.HibernateValidator" /> <!-- 如果不加默认到 使用classpath下的 ValidationMessages.properties --> <property name="validationMessageSource" ref="messageSource" /> </bean> <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource" p:basename="i18n/messages" />
相关文章推荐
- 分享微信开发Html5轻游戏中的几个坑
- 一个jar包里的网站
- 一个jar包里的网站之文件上传
- 一个jar包里的网站之返回对媒体类型
- Spring整合Quartz(JobDetailBean方式)
- Spring整合Quartz(JobDetailBean方式)
- Zend的MVC机制使用分析(二)
- ASP.NET MVC 4 捆绑和缩小实例介绍
- ASP.NET Mvc开发之查询数据
- ASP.NET MVC中将控制器分离到类库的实现
- asp.net实现在非MVC中使用Razor模板引擎的方法
- ASP.NET MVC中的AJAX应用
- 为ASP.NET MVC及WebApi添加路由优先级
- ASP.NET MVC中图表控件的使用方法
- ASP.NET MVC的四种验证编程方式
- 仅30行代码实现Javascript中的MVC
- ASP.NET MVC 3仿Server.Transfer效果的实现方法
- 如何在MVC应用程序中使用Jquery
- ASP.NET MVC小结之基础篇(二)
- ASP.NET小结之MVC, MVP, MVVM比较以及区别(一)