首页 > 其他分享 >非WEB项目中引入Hibernate Validator

非WEB项目中引入Hibernate Validator

时间:2023-01-04 15:48:12浏览次数:66  
标签:WEB Hibernate String validator jar seatCount Validator public manufacturer

前言:

网上一些朋友分享了关于hibernate-validator的使用方法,但是不是缺少关联库信息,就是提供的参考代码中缺少自定类。

希望我这一篇博客能够让你顺利的跑出预期的结果。

如果有错,可以给我留言。

英文好的朋友可以参考官网的getting started。

http://hibernate.org/validator/documentation/getting-started/

一、环境

hibernate-validator库必须运行的JDK版本为1.6及以上。

二、hibernate-validator库及依赖

1 classmate-1.3.1.jar
2 hibernate-validator-5.3.1.Final.jar
3 javax.el-2.2.4.jar
4 javax.el-api-2.2.4.jar
5 jboss-logging-3.3.0.Final.jar
6 validation-api-1.1.0.Final.jar

三、假设我们构造了一个Car类

复制代码
 1 public class Car {
 2 
 3     @NotNull
 4     private String manufacturer;
 5 
 6     @NotNull
 7     @Size(min = 2, max = 14)
 8     private String licensePlate;
 9 
10     @Min(2)
11     private int seatCount;
12 
13     public Car(String manufacturer, String licencePlate, int seatCount) {
14         this.manufacturer = manufacturer;
15         this.licensePlate = licencePlate;
16         this.seatCount = seatCount;
17     }
18 
19     public String getManufacturer() {
20         return manufacturer;
21     }
22 
23     public void setManufacturer(String manufacturer) {
24         this.manufacturer = manufacturer;
25     }
26 
27     public String getLicensePlate() {
28         return licensePlate;
29     }
30 
31     public void setLicensePlate(String licensePlate) {
32         this.licensePlate = licensePlate;
33     }
34 
35     public int getSeatCount() {
36         return seatCount;
37     }
38 
39     public void setSeatCount(int seatCount) {
40         this.seatCount = seatCount;
41     }
42 
43 }
复制代码

四、如何校验呢?我们看看这个测试类

复制代码
 1 public class CarTest {
 2 
 3     public static void main(String[] args) {
 4         ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
 5         Validator validator = factory.getValidator();
 6         Car car = new Car(null, "苏A999999", 1);
 7 
 8         Set<ConstraintViolation<Car>> constraintViolations = validator.validate(car);
 9         for (ConstraintViolation<Car> constraintViolation : constraintViolations)
10             System.out.println("错误:" + constraintViolation.getMessage());
11     }
12 }
复制代码

五、结果如何?

1 十一月 08, 2016 10:31:00 下午 org.hibernate.validator.internal.util.Version <clinit>
2 INFO: HV000001: Hibernate Validator 5.3.1.Final
3 错误:不能为null
4 错误:最小不能小于2

六、真是简单易用!虽然这个库重复“发明”了轮子。

七、你注意到了吗?结果是自动国际化了的!

标签:WEB,Hibernate,String,validator,jar,seatCount,Validator,public,manufacturer
From: https://www.cnblogs.com/kn-zheng/p/17025014.html

相关文章

  • 又见JavaWeb的中文乱码
    简单翻了一下记录,我已经写了至少4篇关于编码和乱码的博客了,每次都觉得自己懂了。实际上,这次的遭遇证明了“真懂”是一种很难达到的境界,吾辈仍需努力!一、背景是这样子的:......
  • tomcat的web项目的远程热发布
    已经发布的项目war包更改了怎么办?我常用的做法是:1.把war包上传服务器2.远程登录服务器后台3.停止tomcat服务4.用新的war包替换老的war包5.启动tomcat服务后来......
  • Java程序(非web)slf4j整合Log4j2
    一、依赖包准备//slf4j项目提供compilegroup:'org.slf4j',name:'slf4j-api',version:'1.7.25'//log4j2项目提供compilegroup:'org.apache.logging.log4j',na......
  • sun.security.validator.ValidatorException: PKIXpath building failed: sun.securit
    报错信息:javax.net.ssT.SSLHandshakeExceptions.certpath.SunCertPathBuilderException:unabletofindvalidcertificationpathtoreguestedtarget问题描述:在ja......
  • 【web项目 管理平台前端搭建 05】
    正式项目搭建前准备工作一、后台管理系统1、vue-element-admin1)简介vue-element-admin是基于element-ui的一套后台管理系统集成方案。GitHub地址:https://github.com/P......
  • 第五阶段:Java Web 核心技术
    认清现实,放弃幻想。(特此感谢动力节点老杜分享出来的学习路线)5.第五阶段:JavaWeb核心技术5.1Tomcat与HTTP5.1.1学习目标1.掌握Tomcat服务器搭建2......
  • ctf web
    1.view_source题目:X老师让小宁同学查看一个网页的源代码,但小宁同学发现鼠标右键好像不管用了。题解:题目提示查看源码,鼠标右键不管用,用F12打开控制台,发现源码里有flag......
  • 网站打包成app,webapp在线打包工具 永久app打包工具
    说到网站打包APP,大家可能并不陌生。常规方法是生成安卓apk和苹果ios安装包,专业上说是webapp模式。安卓apk可以直接下载安装,苹果ios需要签名后才能下载。此时通过分发平台上......
  • python3 The owner of this website (future.com) has banned your access based on y
     打开网站出现“Theownerofthiswebsite(future.com)hasbannedyouraccessbasedonyourbrowser'ssignature(784)“ 在翻译一下:本网站(future.com)的所有者已......
  • 还原Webpack打包Vue项目的源代码
    vue-cli脚手架创建一个vue项目找到源码的map文件,然后下载使用npm安装reverse-sourcemapnpminstall--globalreverse-sourcemap还原命令reverse-sourcem......