javaBean vlidation(2)—内置约束
来源:互联网 发布:手机虚拟歌姬软件 编辑:程序博客网 时间:2024/06/06 06:57
javaBean vlidation(2)—内置约束
本文介绍规范内置的约束,并说明可选属性元素。
预定约束说明
javaBean验证规范内置了下面约束注解:
AssertFalse,AssertTrue
元素属性:无
目标变量类型:boolean, java.lang.Boolean
期望目标变量值:false,trueDecimalMin,DecimalMax
元素属性:(value=int, inclusive=boolean)
目标变量类型:BigDecimal, BigInteger, CharSequence, primitive numbers (byte, short, int, long) and their respective wrappers
期望目标变量值:variableValue >= value,variableValue <= value ; 注:如果inclusive=false,则不包括等号,缺省为ture.
Digits
元素属性:(integer=int, fraction=int)
目标变量类型:同上
期望目标变量值:variableIntegralDigits <= integer 并且 variableFractionalDigits <= fraction
Min,Max
元素属性: (value=int)
目标变量类型:同上,除了CharSequence
期望目标变量值:variableValue >= value,variableValue <= value
Size
元素属性: (max=int, min=int)
目标变量类型:CharSequence, Collection, Map, Array
期望目标变量值:variableValueRelatedSize >= min 并且 variableValueRelatedSize <= max
Pattern
元素属性:(regexp=String, flags=Pattern.Flag[])
目标变量类型: CharSequence (String)
期望目标变量值:Pattern.matches(regexp, variableValue) == true
Past,Future
元素属性:无
目标变量类型: java.util.Date, java.util.Calendar
期望目标变量值:currentMillis of variableValue < time now in millis,currentMillis of variableValue > time now in millis
Null,NotNull
元素属性:无
目标变量类型:Any subclass of java.lang.Object
期望目标变量值:variableValue == null,variableValue != null
上面约束定义在javax.validation.constraints
包中。
可选属性说明
上面约束中标注为“无”属性,还有一些可选属性,下面给予详细说明:
message = String
验证错误信息,缺省通过key读取资源文件,实现国际化。也可以直接使用硬代码覆盖缺省信息,或自定义资源文件,通过KEY覆盖。
资源key需用在{}中。缺省的key是注解类的完整名称加上.message,如:javax.validation.constraints.Future.message
。当我们自定义约束注解时,应该遵循相同的约定。groups = Class
约束列表
上面每个预定义的注解,有一个内置注解List
.我们看看NotNull
的代码:
@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER })@Retention(RUNTIME)@Documented@Constraint(validatedBy = { }) public @interface NotNull { String message() default "{javax.validation.constraints.NotNull.message}"; Class<?>[] groups() default { }; Class<? extends Payload>[] payload() default { }; @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER }) @Retention(RUNTIME) @Documented @interface List { NotNull[] value(); }}
这个注解允许指定多个相同的注解,如不同组及错误信息。
总结
本文简要说明预定义约束注解,以及可选项的属性介绍,为后面我们自定义约束做写概念说明。
- javaBean vlidation(2)—内置约束
- 内置约束
- javaBean验证框架(4)—自定义约束
- javaBean验证框架(6)—附加约束和组合约束
- javaBean验证框架(5)—自定义类级别约束
- 内置的验证约束注解
- JSP九大内置对象&javabean&内省
- 关于javabean属性使用annotation约束的测试
- 4-1 JSP的内置对象、标准动作、JavaBean、EL
- Oracle Database的基本操作——SELECT语句,添加表主键约束,内置函数,字段串接
- 『ORACLE』 内置约束(11g)
- 周报——JavaBean
- JavaSE——JavaBean
- 内省——>javaBean
- JSP——JavaBean
- javaBean与反射2
- javaBean组件<2>
- 黑马程序员—javabean
- [模板]-高斯消元
- GKPath
- 不错的面试经历
- java文件上上传与下载
- nova的snapshot log
- javaBean vlidation(2)—内置约束
- 使用vuejs+express+mongodb 开发一款销售仓库管理系统
- 基于stm32f103的BMP085气压计的检测
- 交换机路由器转发包的过程
- python字符串前面加u,r,b的含义
- [Leetcode]664. Strange Printer
- 阿里云linux服务器配置(node环境)
- 【安全牛学习笔记】SQLMAP自动注入-ENUMERATION、BRUTE FORCE、UDF INJECTION、FILE SYSTEM、OS、WINDOWS REGISTORY、GENERAL、M
- 人无信则不立,您了解自己的信用情况吗?