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>
目录
相关文章
|
编解码 数据可视化 数据挖掘
【办公自动化】用Python将PDF文件转存为图片
【办公自动化】用Python将PDF文件转存为图片
463 1
|
11月前
|
数据建模 网络安全
阿里云SSL证书不同类型DV、OV和EV如何收费?单域名和通配符SSL价格整理
阿里云SSL证书提供免费和收费选项。收费证书包括:DV单域名WoSign 238元/年,DigiCert通配符DV 1500元/年,GlobalSign OV企业型1864元/年等。免费SSL证书由Digicert提供,有效期3个月,每年可领取20个单域名证书。更多详情及价格表请参考阿里云官方页面。
|
新零售 供应链 搜索推荐
案例酷 | 懒熊火锅:数据驱动全渠道运营,新零售赛道“热辣升级”
编者按: “民以食为天,食以勤为先”。餐饮行业在中国自明清时期以来就被称为“勤行”,表示这个行业必须要以勤劳、勤快而著称。不能做到精益求精、待客如宾,就难以在竞争无比激烈的餐饮行业中立足生存。如今,想要把一家连锁餐饮企业推向成功,需要的不仅是精妙的味道与完善的服务,还需要在产品、管理、供应链、门店经营、品牌宣传等一系列层面进行不断的迭代与完善。这些现代化的新能力、新效果背后,指向着连锁餐饮的数智化转型,指向着新零售时代餐饮行业的创新之路。 本文约5929字,建议阅读时间15分钟。
539 0
|
设计模式 存储 C++
【设计模式学习笔记】组合模式与桥接模式案例详解(C++实现)
【设计模式学习笔记】组合模式与桥接模式案例详解(C++实现)
522 0
【设计模式学习笔记】组合模式与桥接模式案例详解(C++实现)
|
JavaScript Windows
XRename(文件文件夹超级重命名工具)简介
XRename(文件文件夹超级重命名工具)简介
348 0
XRename(文件文件夹超级重命名工具)简介
随心所欲操作 Dos
打开CMD的方式 常用的Dos命令
随心所欲操作 Dos
三星环绕屏专利曝光,柔性屏幕的顶点
近些年来,手机圈一直为全面屏的最终形态争论不休,之前有人认为弹出摄像头设计算是最接近真全面屏的设计,但因为机身厚度问题现在也被束之高阁了。现在也有屏下摄像头的手机上市,不过距离普及还很遥远。
283 0
三星环绕屏专利曝光,柔性屏幕的顶点
|
前端开发
前端工作总结130-首页样式调整第二次
前端工作总结130-首页样式调整第二次
191 0