Java:hibernate-validator验证数据

简介: Java:hibernate-validator验证数据

依赖

https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator

<dependency>
     <groupId>org.hibernate.validator</groupId>
     <artifactId>hibernate-validator</artifactId>
     <version>6.1.2.Final</version>
 </dependency>

使用示例

package org.example;


import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Set;

class Person {
@NotBlank
@NotNull
private String name;

@Min(0)
@Max(150)
private int age;

@NotNull
private boolean gender;

public Person(String name, int age, boolean gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
}

public class ValidatorTest {
public static void main(String[] args) {


// 获取验证器
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();

// 数据验证
Person person = new Person("", 151, false);
Set<ConstraintViolation<Person>> violations = validator.validate(person);

// 打印验证结果
for(ConstraintViolation violation: violations){
System.out.println(violation.getPropertyPath() + violation.getMessage());
}
/**
* age最大不能超过150
* name不能为空
*/

}
}

参考

https://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/

            </div>
目录
相关文章
|
4月前
|
前端开发 Java 数据库连接
9:参数校验-Java Spring
9:参数校验-Java Spring
32 0
|
6月前
|
Java Maven 开发工具
【mapstruct】Java 中 mapstruct mapper 转换器部分字段转换无效的解决方案
【mapstruct】Java 中 mapstruct mapper 转换器部分字段转换无效的解决方案
161 0
|
11月前
|
Java 数据库连接
hibernate配置详情4(TestUtil.java)
hibernate配置详情4(TestUtil.java)
37 0
|
Java API
Java:SpringBoot整合hibernate-validator实现入参数据校验
Java:SpringBoot整合hibernate-validator实现入参数据校验
115 0
|
Java 数据库连接
Java:hibernate-validator验证数据
Java:hibernate-validator验证数据
86 0
|
缓存 Java 数据库连接
Java Bean Validation 详解(上)
前言 最近维护一个老项目,项目使用最原始的Servlet,项目中充斥着各种类似判空的简单校验,为了减少重复代码,因此需要手动引入 Java 的 Bean Validation。
275 0
Java Bean Validation 详解(上)
|
缓存 安全 Java
Java Bean Validation 详解(下)
前言 最近维护一个老项目,项目使用最原始的Servlet,项目中充斥着各种类似判空的简单校验,为了减少重复代码,因此需要手动引入 Java 的 Bean Validation。
229 0
|
Java 数据库连接 Spring
深入了解数据校验:Java Bean Validation 2.0(JSR303、JSR349、JSR380)Hibernate-Validation 6.x使用案例【享学Java】(下)
深入了解数据校验:Java Bean Validation 2.0(JSR303、JSR349、JSR380)Hibernate-Validation 6.x使用案例【享学Java】(下)
|
XML 缓存 安全
深入了解数据校验:Java Bean Validation 2.0(JSR303、JSR349、JSR380)Hibernate-Validation 6.x使用案例【享学Java】(中)
深入了解数据校验:Java Bean Validation 2.0(JSR303、JSR349、JSR380)Hibernate-Validation 6.x使用案例【享学Java】(中)
深入了解数据校验:Java Bean Validation 2.0(JSR303、JSR349、JSR380)Hibernate-Validation 6.x使用案例【享学Java】(中)
|
XML Java 关系型数据库
深入了解数据校验:Java Bean Validation 2.0(JSR303、JSR349、JSR380)Hibernate-Validation 6.x使用案例【享学Java】(上)
深入了解数据校验:Java Bean Validation 2.0(JSR303、JSR349、JSR380)Hibernate-Validation 6.x使用案例【享学Java】(上)
深入了解数据校验:Java Bean Validation 2.0(JSR303、JSR349、JSR380)Hibernate-Validation 6.x使用案例【享学Java】(上)