9. SpringMVC 数据验证例子2 - 自定义数据验证规则
2016-03-08 12:38
447 查看
本系列入门学习参考极客学院Spring入门系列视频学习记录总结而来
继续沿用SpringMVC数据验证例子1中的代码,添加自定义注解类实现自定义验证规则
自定义一个Betweent注解类:
实现BetweenValidator类:
修改JavaBean中age属性的注解:
继续沿用SpringMVC数据验证例子1中的代码,添加自定义注解类实现自定义验证规则
自定义一个Betweent注解类:
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 "年龄必须在{min}和{max}之间"; Class<?>[] groups() default { }; Class<? extends Payload>[] payload() default {}; int min(); int max(); }
实现BetweenValidator类:
import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidatorContext; /** * 自定义数据验证注解实现类 * 实现ConstraintValidator接口 */ public class BetweenValidator implements ConstraintValidator<Between, Integer>{ private int min ; private int max ; @Override public void initialize(Between annotation) { min = annotation.min(); max = annotation.max(); } @Override public boolean isValid(Integer value, ConstraintValidatorContext context) { if (value == null) { return false; } if (value >= min && value <= max) { return true; } return false; } }
修改JavaBean中age属性的注解:
@Between(min = 18 , max = 60) @NotNull(message = "不能为空") private Integer age ;
相关文章推荐
- 分享微信开发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比较以及区别(一)