前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring 注解验证-关于@Valid

Spring 注解验证-关于@Valid

作者头像
haoming1100
发布2019-02-15 16:49:09
3.6K0
发布2019-02-15 16:49:09
举报
文章被收录于专栏:步履前行步履前行

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

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

代码语言:javascript
复制
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 很容易理解,就是参数大小, 

代码语言:javascript
复制
/**
 * @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()

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

@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下的验证

代码语言:javascript
复制
@NotBlank(message =)   验证字符串非null,且长度必须大于0    很适合String 参数验证
@Email  被注释的元素必须是电子邮箱地址    
@Length(min=,max=)  被注释的字符串的大小必须在指定的范围内    
@NotEmpty   被注释的字符串的必须非空    
@Range(min=,max=,message=)  被注释的元素必须在合适的范围内 
代码语言:javascript
复制
代码语言:javascript
复制
代码语言:javascript
复制
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-05-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档