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>
目录
相关文章
|
数据采集 存储 数据管理
CDGA|如何实施非常精准的数据治理策略?
精准的数据治理需要企业从设定明确目标、制定适应性策略、构建完善组织结构、制定严谨制度流程、采用先进技术工具、加强事前预防、推动数据驱动决策以及建立健全监督与评估机制等多个方面入手。只有这样,企业才能有效应对数据时代带来的挑战,充分释放数据价值,为组织的可持续发展提供有力支撑。
|
C++
【洛谷】P3378 【模板】堆
洛谷 P3378 【模板】堆
156 3
【洛谷】P3378 【模板】堆
|
4天前
|
数据采集 人工智能 安全
|
13天前
|
云安全 监控 安全
|
5天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1102 152
|
18天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1778 9
|
10天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
708 152