`

注解校验说明及注解使用场景

阅读更多
注解

适用的数据类型

说明

@AssertFalse

Boolean, boolean

验证注解的元素值是false

@AssertTrue

Boolean, boolean

验证注解的元素值是true

@DecimalMax(value=x)

BigDecimal, BigInteger, String, byte,short, int, long and the respective wrappers of the primitive types. Additionally supported by HV: any sub-type of Number andCharSequence.

验证注解的元素值小于等于@ DecimalMax指定的value值

@DecimalMin(value=x)

BigDecimal, BigInteger, String, byte,short, int, long and the respective wrappers of the primitive types. Additionally supported by HV: any sub-type of Number andCharSequence.

验证注解的元素值小于等于@ DecimalMin指定的value值

@Digits(integer=整数位数, fraction=小数位数)

BigDecimal, BigInteger, String, byte,short, int, long and the respective wrappers of the primitive types. Additionally supported by HV: any sub-type of Number andCharSequence.

验证注解的元素值的整数位数和小数位数上限

@Future

java.util.Date, java.util.Calendar; Additionally supported by HV, if theJoda Time date/time API is on the class path: any implementations ofReadablePartial andReadableInstant.

验证注解的元素值(日期类型)比当前时间晚

@Max(value=x)

BigDecimal, BigInteger, byte, short,int, long and the respective wrappers of the primitive types. Additionally supported by HV: any sub-type ofCharSequence (the numeric value represented by the character sequence is evaluated), any sub-type of Number.

验证注解的元素值小于等于@Max指定的value值

@Min(value=x)

BigDecimal, BigInteger, byte, short,int, long and the respective wrappers of the primitive types. Additionally supported by HV: any sub-type of CharSequence (the numeric value represented by the char sequence is evaluated), any sub-type of Number.

验证注解的元素值大于等于@Min指定的value值

@NotNull

Any type

验证注解的元素值不是null

@Null

Any type

验证注解的元素值是null

@Past

java.util.Date, java.util.Calendar; Additionally supported by HV, if theJoda Time date/time API is on the class path: any implementations ofReadablePartial andReadableInstant.

验证注解的元素值(日期类型)比当前时间早

@Pattern(regex=正则表达式, flag=)

String. Additionally supported by HV: any sub-type of CharSequence.

验证注解的元素值与指定的正则表达式匹配

@Size(min=最小值, max=最大值)

String, Collection, Map and arrays. Additionally supported by HV: any sub-type of CharSequence.

验证注解的元素值的在min和max(包含)指定区间之内,如字符长度、集合大小

@Valid

Any non-primitive type(引用类型)

验证关联的对象,如账户对象里有一个订单对象,指定验证订单对象

@NotEmpty

CharSequence,Collection, Map and Arrays

验证注解的元素值不为null且不为空(字符串长度不为0、集合大小不为0)

@Range(min=最小值, max=最大值)

CharSequence, Collection, Map and Arrays,BigDecimal, BigInteger, CharSequence, byte, short, int, long and the respective wrappers of the primitive types

验证注解的元素值在最小值和最大值之间

@NotBlank

CharSequence

验证注解的元素值不为空(不为null、去除首位空格后长度为0),不同于@NotEmpty,@NotBlank只应用于字符串且在比较时会去除字符串的空格

@Length(min=下限, max=上限)

CharSequence

验证注解的元素值长度在min和max区间内

@Email

CharSequence

验证注解的元素值是Email,也可以通过正则表达式和flag指定自定义的email格式
分享到:
评论

相关推荐

    注解+反射实现自定义验证工具,可实现业务校验,字段多种校验

    ### 注解+反射实现自定义验证工具 #### 一、引言 在软件开发过程中,数据验证是一项必不可少的任务。...这种方法特别适用于那些需要频繁修改验证逻辑的场景,能够极大地提高开发效率和代码质量。

    Spring Boot技术知识点:如何使用@Valid注解来对邮箱字段进行数据校验

    如果希望对不同的场景使用不同的校验规则,可以使用分组校验。通过在验证注解上添加`groups`属性,我们可以指定特定的校验组。然后,在控制器方法上使用`@Valid`的`groups`参数来指定需要的校验组。 7. **自定义...

    JSR303校验注解和自定义校验注解的使用

    总结起来,JSR303校验注解提供了一种声明式的方式来验证对象属性,而自定义校验注解则允许你扩展验证功能,以适应更复杂的业务场景。通过合理利用这些工具,可以有效提升应用的数据质量,减少因数据错误导致的问题。

    谈谈Java中自定义注解及使用场景

    在Spring Boot等框架中,可以定义自定义注解来实现特定的功能,如拦截器中的登录校验。通过在控制器方法上使用自定义注解,拦截器可以检测并执行相应的逻辑,例如检查用户是否已登录。 2. **注解+AOP(面向切面...

    自定义编译期注解

    在Java编程语言中,自定义编译期注解(Annotation)是一种强大的元数据工具,它允许程序员...同时,由于注解处理器的灵活性,自定义编译期注解的应用场景几乎是无限的,只要想象力足够丰富,就能发掘出更多实用的用途。

    java自定义注解和通过反射获取注解

    在实际开发中,自定义注解和反射的应用场景非常广泛,比如Spring框架中的依赖注入、AOP切面编程、日志记录、数据校验等。通过注解,我们可以将业务逻辑与配置分离,使得代码更加整洁,同时减少硬编码,提高代码的...

    关于java注解比较详细的例子

    - 编译时验证:例如,JSR 303/349的`javax.validation`包提供注解来校验对象的属性。 - 配置管理:Spring框架广泛使用注解来简化依赖注入和配置。 通过以上介绍,我们可以看到Java注解在简化编程、增强代码可读性...

    springmvc注解验证

    这些注解可以直接应用于Java Bean的字段上,也可以在Spring MVC的控制器方法参数上使用。 1. **基本验证注解** - `@NotNull`: 检查值是否为null。 - `@NotEmpty`: 检查字符串、集合或数组是否为空。 - `@...

    validated和valid校验注解用法示例代码

    在实际开发中,我们还需要自定义Validator来处理复杂的验证需求,或者使用条件注解(如`@Size(max = ..., min = ..., message = "...")`)来定义更细致的验证规则。此外,还可以通过全局异常处理(`@...

    运行时注解demo

    2. **数据验证**:Hibernate Validator等库利用注解进行对象数据校验。 3. **持久化框架**:JPA(Java Persistence API)使用注解将对象映射到数据库表。 4. **依赖注入**:Spring框架中的@Component、@Autowired等...

    基于校验器链的简单实现,支持对象按照属性来自定义校验,可以重用校验器。

    3. 使用注解标记属性:在待校验对象的属性上使用自定义注解,指定该属性需要的校验规则。 4. 遍历属性和注解:通过反射获取对象的所有属性及其注解,然后根据注解创建相应的校验器实例。 5. 组建校验链:将所有...

    Struts 2 数据校验功能及校验问题的解决方案

    为了处理更复杂的数据校验场景,Struts 2支持使用Validator插件,它可以读取XML配置文件或者使用JSR 303/JSR 349(Bean Validation)标准来进行校验。通过Validator插件,可以定义全局的校验规则,复用性强,同时也...

    自定义注解工具类.zip

    在Spring框架中,我们可以使用`@Valid`注解配合自定义约束(如`@NotBlank`, `@Min`, `@Max`等)来进行参数校验。此资源提供的工具类可能实现了类似的机制,但更加灵活,可以适应各种自定义的校验规则。 3. 扩展性:...

    java 注解开发(包含详细注释,项目可以直接运行)

    5. **注解的使用场景** - **依赖注入**:Spring框架中的`@Autowired`注解自动装配bean。 - **持久化**:Hibernate框架中,使用`@Entity`、`@Table`、`@Id`等注解标记实体类和属性,实现对象关系映射。 - **运行时...

    struts2输入校验深入总结

    例如,可以使用`@Validated`注解来启用校验,使用`@NotBlank`、`@NotEmpty`等JSR303/JSR349的校验注解来指定验证规则。 三、Interceptor级别校验 Struts2的Interceptor(拦截器)允许在Action执行前进行数据校验。...

    非常好用的后台校验 jar包

    在实际应用中,开发者可以简单地引入这个jar包,并在控制器层的方法参数上使用对应的校验注解,然后在服务层调用校验器进行校验。这样,即使前端传入的数据有误,也能及时捕获并返回错误信息,避免了因无效数据导致...

    Java密码学API注解及模板生成框架.pdf

    模板生成器也是安全专家拓展注解使用场景的必要工具。 本研究的主要贡献有两个方面。首先,本研究提出了基于注解的 Java 密码学 API 安全性增强方法,这种方法可以强制规范开发者的行为,确保开发者正确地使用密码...

    spring @Validated 注解开发中使用group分组校验的实现

    然后,在控制器的方法上,我们可以使用`@Validated`注解,并指定需要的验证分组。例如,创建用户时,我们只需要`Creation`组的验证: ```java @PostMapping("/users") public ApiResponse<UserDTO> createUser( @...

    validate+@Constraint自定义注解1

    在Spring Boot应用中,我们经常需要对输入的数据进行验证,以确保数据的正确性和安全性。...在Spring Boot中,这样的注解可以应用于表单提交、REST API参数等多种场景,大大增强了应用的安全性和用户体验。

    java 利用POI对Execel表格的统一导入与校验(利用Hibernate Validator)

    在Java中,我们通常使用注解和验证器框架,如Hibernate Validator。它实现了JSR-303/JSR-349标准,提供了一种声明式的方式来定义和执行校验规则。 4. **Hibernate Validator**: Hibernate Validator是Java Bean ...

Global site tag (gtag.js) - Google Analytics