Hibernate Validation各注解的用法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
检查该值是否大 于或等于约束条 会给对应的数据库表字段添加一个check 件中规定的最小 的约束条件. 值. 检查该值不为 对应的表字段不允许为null. null.. 检查该字符串不 为null,并且不是 空字符串. 本约 束和下面的 @NotEmpty的 没有 不同之处在于,本 约束只能被用在 字符串类型上,并 且会忽略字符串 尾部的空白字符. 检查该值不为 null同时也不为 空. 没有
@Digits(integer yes =, fraction=)
字段或属性. 支持类型 包括BigDecimal, BigInteger, String, byte, short, int, long 和其各自对应的包装 器类型.
no
字段或属性, 需要是 String类型的.
@Future
@Length(min=, no max=)
@Max
yes
@Min
yes
@NotNull
yes
@NotBlank
no
field/property
@NotEmpty
no
字段或属性. 支持的类 型包括String, Collection, Map 和 数组. field/property 字段或属性, 支持类型 是java.util.Date 和 java.util.Calendar. 字段或属性, 需要是 String类型的.
@ScriptAssert(l ang=, script=, no alias=)
类
@URL(protocol =, host=, port=)
no
字段或属性, 要求其类 型为String.
@Valid
yes
字段或属性. 支持所有 的非原始类型.
作用 检查被标注的值 是否为false. 检查被标注的值 是否为true. 检查被标注的字 符串能否通过 Luhn Checksum test. 注意, 这 个约束条件是为 了防止用户手 误, 并不对信用 卡有效性进行检 测. 请参考 Anatomy of Credit Card 被标注的值必须 不大于约束中指 定的最大值. 这 个约束的参数是 一个通过 BigDecimal定义 的最大值的字符 串表示. 被标注的值必须 不小于约束中指 定的最小值. 这 个约束的参数是 一个通过 BigDecimal定义 的最小值的字符 串表示. 检查此值是否是 一个数字,并且这 个数字的整数部 分不超过integer 定义的位数, 和 小数部分不超过 fraction 定义的 位数. 检查所给的字符 串是否符合 email地址的格 式.
yes
字段或属性, 支持类型 是java.util.Date 和 java.util.Calendar. 字段或属性, 需要是 String类型的. 字段或属性. 支持类型 包括BigDecimal, BigInteger, String, byte, short, int, long 和其各自对应的包装 器类型. 字段或属性. 支持类型 包括BigDecimal, BigInteger, String, byte, short, int, long 和其各自对应的包装 器类型. field/property
Annotation @AssertFalse @AssertTrue
属于Bean Validation 规范 yes yes
应用位置 field/property field/property
@CreditCardNu no mber
字段或属性, 要求其类 型为String.
@DecimalMax
递归的对关联对 象进行校验, 如 果关联对象是个 集合或者数组, 那么对其中的元 没有 素进行递归校验, 如果是一个 map,则对其中 的值部分进行校 验.
检查该值应该为 没有 null. 检查标注对象中 的值表示的日期 没有 比当前早. 检查该字符串是 否能够在match 指定的情况下被 没有 regex 定义的正 则表达式匹配.
检查该值是否在 [min, max)之 没有 间
检查该值的size 对应的数据库表字段的长度会被设置成约 是否在[min, 束中定义的最大值. max)之间. 要使用这个约束 条件,必须先要保 证Java Scripting API 即JSR 223 ("Scripting for the JavaTM Platform")的实 现在类路径当中. 如果使用的时 Java 6的话,则 没有 不是问题, 如果 是老版本的话, 那么需要把 JSR 223的实现添加 进类路径. 这个 约束条件中的表 达式可以使用任 何兼容JSR 223 的脚本来编写. (更多信息请参 考javadoc) 判断该值是否是 一个有效的URL, 如果给出了约束 中的protocol , 没有 host 或 port 参 数的话,那个被校 验的值需要和其 匹配.
@Null @Past
yes yes
@Pattern(regex yes =, flag=)
@Range(min=, max=)
no
@Size(min=, max=)
yes
字段或属性. 支持类型 包括BigDecimal, BigInteger, String, byte, short, int, long 和其各自对应的包装 器类型. 字段或属性. 支持的类 型包括String, Collection, Map 和 数组.
对Hibernate Core中的元数据的影响 没有 没有
没有
没有
没有
ຫໍສະໝຸດ Baidu
对应的数据库表字段会被设置精度 (precision)和准度(scale).
没有
检查给定的日期 没有 是否比现在晚. 检查该字符串的 长度是否在min 对应的数据库表字段的长度会被设置成约 和 max 规定的 束中定义的最大值. 范围内. 检查该值是否小 于或等于约束条 会给对应的数据库表字段添加一个check 件中指定的最大 的约束条件. 值.
yes
字段或属性. 支持类型 包括BigDecimal, BigInteger, String, byte, short, int, long 和其各自对应的包装 器类型.
@DecimalMin
yes
字段或属性. 支持类型 包括BigDecimal, BigInteger, String, byte, short, int, long 和其各自对应的包装 器类型.