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月前
|
测试技术 Swift 开发者
可调节推理预算,字节Seed团队开源大型语言模型 Seed-OSS 系列!
字节跳动 Seed 团队正式发布了 Seed-OSS 系列开源大型语言模型,提供强大的长上下文、推理、代理和通用功能,以及对开发者友好的多功能特性。
517 9
|
NoSQL 网络协议 数据库
为什么 Lettuce 会带来更长的故障时间
本文详述了阿里云数据库 Tair/Redis 将使用长连接客户端在非预期故障宕机切换场景下的恢复时间从最初的 900s 降到 120s 再到 30s的优化过程,涉及产品优化,开源产品问题修复等诸多方面。
69173 11
为什么 Lettuce 会带来更长的故障时间
|
JSON NoSQL Redis
redis-full-check校验工具
redis-full-check是阿里云Redis&MongoDB团队开源的用于校验2个redis数据是否一致的工具,通常用于redis数据迁移后正确性的校验。
25946 0
|
SQL 安全 数据库
南大通用GBase 8s 查看用户权限查询指南
本文详细介绍了南大通用GBase 8s数据库中用户权限的查看与管理方法,涵盖数据库级别和表级别权限的定义、查看及赋权操作,以及相关系统表的使用,旨在帮助数据库管理员有效维护数据访问安全。
|
Web App开发 缓存 安全
面试官:说说你对options请求的理解
什么是 options 请求 我们可以看下 MDN 中的一段描述: HTTP 的 OPTIONS 方法 用于获取目的资源所支持的通信选项。客户端可以对特定的 URL 使用 OPTIONS 方法,也可以对整站(通过将 URL 设置为“*”)使用该方法。” 简单来说,就是可以用 options 请求去嗅探某个请求在对应的服务器中都支持哪种请求方法。 其实,这是因为在跨域的情况下,在浏览器发起&quot;复杂请求&quot;时主动发起的。跨域共享标准规范要求,对那些可能对服务器数据产生副作用的 HTTP 请求方法(特别是 GET 以外的 HTTP 请求,或者搭配某些 MIME 类型的 POST 请求).
面试官:说说你对options请求的理解
|
网络协议 测试技术 数据安全/隐私保护
ensp中高级acl (控制列表) 原理和配置命令 (详解)
ensp中高级acl (控制列表) 原理和配置命令 (详解)
1671 0
|
存储 运维 OLAP
带你读《Apache Doris 案例集》——05 当 Apache Doris 遇上大模型:探秘腾讯音乐如何 基于大模型+ OLAP 构建智能数据服务平台(2)
带你读《Apache Doris 案例集》——05 当 Apache Doris 遇上大模型:探秘腾讯音乐如何 基于大模型+ OLAP 构建智能数据服务平台(2)
794 0
|
安全 Windows
将爱心代码设为电脑屏保,还能假装黑客大佬,在酷炫的界面中保护隐私
本文介绍 Hacker Screen Saver 一款开源 Windows 屏保的使用。Hacker Screen Saver 是一款 .NET 设计的屏幕保护程序,可以显示 HTML 页面,你可以将黑客模拟器的网页,或者爱心代码网页设置为你的 Windows 电脑屏保。详细介绍了软件的使用和对应网页的修改和制作注意事项。
855 0
将爱心代码设为电脑屏保,还能假装黑客大佬,在酷炫的界面中保护隐私
通过bcftools合并不同种群的vcf文件
通过bcftools合并不同种群的vcf文件
|
机器学习/深度学习 人工智能 JavaScript
人工智能会不会让程序员失业?
@[TOC](目录) 人工智能 (AI) 的发展确实给程序员带来了一些挑战和机遇。 # 一、挑战: 1. 自动化:随着人工智能技术的发展,越来越多的工作可以被自动化。例如,机器人和自动化工具可以自动完成一些简单的编程任务,这可能会导致一些程序员失业。 2. 技能更新:随着人工智能技术的发展,程序员需要不断更新自己的技能。例如,程序员需要学习新的编程语言、框架和工具,以便能够更好地利用人工智能技术。 3. 竞争压力:随着人工智能技术的发展,越来越多的程序员进入市场,导致竞争压力增大。例如,一些开发者开始转行成为数据科学家或机器学习工程师,这可能会导致一些程序员失业。 # 二、机遇: 1. 提
363 0