前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java Validation Api

Java Validation Api

作者头像
haoming1100
发布2018-04-27 17:32:39
1.6K0
发布2018-04-27 17:32:39
举报
文章被收录于专栏:步履前行步履前行步履前行

在我们应用程序的业务逻辑中,经常会碰到参数教研的情况,比如在Controller中,我们的参数是一个Entity的时候,经常要判断这个Entity的字段是否是null之类或者是长度等。通常来讲,我们用比如StringUtils或者是if等来进行教研,这样在我们的代码层上面就会带来很不好的体验,阅读、维护的成本会大大增加,造成冗余。因此有了这个JSR 303。

  Bean Validation为JavaBean提供了相应的API来给我们做参数的验证。通过Bean Validation比如@NotNull @Pattern等方法来对我们字段的值做进一步的教研。

Bean Validation 是一个运行时框架,在验证之后错误信息会直接返回。

这是核心注解 @Valid,可以看出是在RUNTIME。

接下来我们看下相关的注解

这是javax.validation包中的 主要包括上述的几个注解

注解

描述

@AssertFalse

被注释的元素必须为 false

@AssertTrue

同@AssertFalse

@DecimalMax

被注释的元素必须是一个数字,其值必须小于等于指定的最大值

@DecimalMin

同DecimalMax

@Digits

被注释的元素是数字

@Future

将来的日期

@Max

被注释的元素必须是一个数字,其值必须小于等于指定的最大值

@Min

被注释的元素必须是一个数字,其值必须大于等于指定的最小值

@NotNull

不能是Null

@Null

元素是Null

@Past

被注释的元素必须是一个过去的日期

@Pattern

被注释的元素必须符合指定的正则表达式

@Szie

被注释的元素

上面标红的是楼主经常遇到的

接下来是org.hibernate.validator.constraints包中的

注解

描述

@Email

元素必须是格式良好的电子邮箱地址

@Length

字符串的大小必须在指定的范围内,有min和max参数

@NotEmpty

字符串的不能是空

@NotBlank

字符串不能使空,但是与@NotEmpty不同的是尾随的空白被忽略

@URL

字符串必须是一个URL


 这是一个DTO,我们在里边做了一些验证

或者我们可以使用自定义的注解来操作

注意,在我们调用加了验证注解的DTO中,我们需要在DTO的前边加入@Valid

例如

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-04-09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 接下来我们看下相关的注解
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档