Spring 注解验证-关于@Valid

在我们做spring mvc项目的时候,经常要对Controller中传入实体内容进行验证,费时还费力,SO,spring mvc 验证参数注解@Valid 注解,更方便了我们专注于业务的处理

官方参考地址  https://github.com/spring-guides/gs-validating-form-input.git ,大家clone下来的时候记得改下地址(附上阿里大法地址)

repositories {
maven{
url "http://maven.aliyun.com/nexus/content/groups/public/"
}
}

官方文档 http://spring.io/guides/gs/validating-form-input/

大家主要看PersonForm类,

模版里提供的类中多了3个注解,其中@NotNull 是针对下面的参数不能为空,如果为空,会抛出 javax.validation.constraints.NotNull.message

而@Size 很容易理解,就是参数大小, 

/**
* @return size the element must be higher or equal to
*/
int min() default 0;

/**
* @return size the element must be lower or equal to
*/
int max() default Integer.MAX_VALUE;

里面有min() 和max()


在我们的controller中,要验证的实体记得一定要加 @
Valid 使我们的注解生效
在验证我们的参数的时候,如果不加 BindingResult bindingResult会抛出异常,我们可以根据 BindingResult 来处理我们的提示错误等
很容易上手,

@Null    限制只能为null
@NotNull 限制必须不为null
@AssertFalse  限制必须为false
@AssertTrue 限制必须为true
@DecimalMax(value)   限制必须为一个不大于指定值的数字
@DecimalMin(value)  限制必须为一个不小于指定值的数字
@Digits(integer,fraction)  限制必须为一个小数,且整数部分的位数不能超过integer,小数部分的位数不能超过fraction
@Future 限制必须是一个将来的日期
@Max(value) 限制必须为一个不大于指定值的数字
@Min(value) 限制必须为一个不小于指定值的数字
@Past 限制必须是一个过去的日期
@Pattern(value) 限制必须符合指定的正则表达式
@Size(max,min) 限制字符长度必须在min到max之间

 

这是 javax.validation 包下的,大家还要注意的是我们还可以用到Hibernate下的验证

 

@NotBlank(message =)   验证字符串非null,且长度必须大于0    很适合String 参数验证
@Email  被注释的元素必须是电子邮箱地址    
@Length(min=,max=)  被注释的字符串的大小必须在指定的范围内    
@NotEmpty   被注释的字符串的必须非空    
@Range(min=,max=,message=)  被注释的元素必须在合适的范围内 
 


posted @ 2017-05-18 12:11  haoming1100  阅读(3684)  评论(0编辑  收藏  举报
本文作者: haoming1100 博客链接: http://www.cnblogs.com/haoming1100 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载时必须带上原文链接!