Hibernate Validator利用注解进行数据验证(16)

【项目实战】使用Hibernate Validator框架优雅地实现参数验证 Hibernate-Validator 是一个用于 Java Bean 验证的库它提供了一种简单而强大的方式来验证对象的属性。 阅读详情

Hibernate Validator利用注解进行数据验证

配置文件spring-config.xml

    <!-- 配置消息属性文件 -->
    <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
        <!-- 资源文件名 -->
        <property name="basenames">
            <list>
                <value>/WEB-INF/resource/errorMessages</value>
            </list>
        </property>
        <!-- 资源文件编码格式 -->
        <property name="fileEncodings" value="utf-8" />
        <!-- 对资源文件内容缓存的时间,单位为秒 -->
        <property name="cacheSeconds" value="120" />
    </bean>
    <!-- 注册校验器 -->
    <bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
        <!-- hibernate 校验器 -->
        <property name="providerClass" value="org.hibernate.validator.HibernateValidator" />
        <!-- 指定校验使用的资源文件,在文件中配置校验错误信息,如果不指定则默认使用 classpath下的 ValidationMessages.properties -->
        <property name="validationMessageSource" ref="messageSource" />
    </bean>
    <!--开启 Spring的 Valid 功能 -->
    <mvc:annotation-driven conversion-service="conversionService" validator="validator"/>

Hibernate Validator注解

package pojo;

import jakarta.validation.constraints.*;
import org.hibernate.validator.constraints.Length;

import java.util.ArrayList;
import java.util.Date;

public class student {
//    验证对象是否不为 null
    @NotNull
    private String id;

//    检查约束字符串是不是 null,以及被 trim 后的长度是否大于 0,只针对字符串,且会去掉前后空格
    @NotBlank
    private String name;

//    检查约束元素是否为 null 或者是 empty
    @NotEmpty(message = "student.info.age")
    private String age;

//    验证 boolean 属性是否为 true
    @AssertTrue
    private boolean up;
//    验证 boolean 属性是否为 false
    @AssertFalse
    private boolean down;

//    验证对象(Array、Collection、Map、String)长度是否在给定的范围之内
    @Size(min = 0,max = 3)
    private ArrayList<String> clothes;

//    验证字符串长度是否在给定的范围之内
    @Length(min = 0,max = 3)
    private String score;

//    验证 Date 和 Callendar 对象是否在当前时间之前
    @Past(message = "gdate.invalid")
    private Date loginDate;

//    验证 Date 和 Calendar 对象是否在当前时间之后
    @Future(message = "gdata.invalid")
    private Date exitDate;

//    验证 Number 和 String 对象是否大于指定的值
    @Min(value = 18,message = "未成年人禁止入内")
    private int minAge;
//    验证 Number 和 String 对象是否小于指定的值
    @Max(value = 33,message = "年龄超限")
    private int maxAge;
}

Springboot使用hibernate-validator实现参数校验 该篇只介绍关于对一个实体类内字段属性做参数校验。 因为我个人觉得加入拦截器AOP那种校验和直接对controller添加@Validated的这些方式,其实很多老项目是无法融入的,涉及到架构变改了。 而对一个实体类内字段属性做参数校验这种方式,是可以不动项目架构去扩展参数校验的。 OK,我们开始编码。 对于springboot项目,hibernate-validator 的使用虽... 阅读详情

相关推荐

hibernate-validator-utf8:ValidationMessages.properties 的 UTF-8 编码

#hibernate-validator-utf8 ValidationMessages.properties 的 UTF-8 编码。 基于 e 。 需要在你的validation.xml中添加: < message>br.eti.clairton.validation.UTF8ResourceBundleMessageInterpolator</ message> 添加依赖: < dependeny> < groupId>br.eti.clairton</ groupId> < artifactId>hibernate-validator-utf8</ artifactId> < version>0.1.0-SNAPHOST</ version> </ dependency> 和存储库: < re

Hibernate Validator 使用详解

定义自定义约束,有三个步骤创建约束注解实现一个验证器定义默认的错误信息实战:自定义手机号码校验器/*** 错误提示信息,可以写死,也可以填写国际化的key*/String message() default "手机号码不正确";Class

zhouzhiwengang的专栏 8652

Matlab实战:用卡尔曼滤波搞定无人机GPS轨迹优化(附完整代码)

本文详细介绍了如何使用Matlab实现卡尔曼滤波(KF)算法优化无人机GPS轨迹,提供完整代码和工程实践指南。通过线性卡尔曼滤波技术,有效降低定位噪声,提升轨迹平滑度,适用于无人机导航和控制系统开发。

weixin_29061425的博客 253

解决org.hibernate.LazyInitializationException的正确姿势

业务很简单,一个jpa的单表查询,获取属性的时候报错了。

正怒月神的博客 728

从网格划分到结果解读:一次完整的子弹侵彻LS-DYNA仿真避坑指南

本文详细解析了子弹侵彻LS-DYNA仿真中的关键技术与避坑指南,涵盖网格优化、对称边界条件设置、沙漏控制参数调整及结果可信度验证。通过HyperMesh网格划分和LS-DYNA高级参数配置,帮助工程师提升仿真精度与效率,确保计算结果物理可信。

weixin_29816689的博客 405

SQLSTATE58030

在优化一条SQL的时候遇到了执行错误 gtlions =# select t1.telnumber,t2.ua,t2.url,t1.apply_name,t2.apply_name from tb1 t1 gtlions -# left outer join tb2 t2 on t1.sid = t2.ipsid gtlions-# where t1.sum_date=20141128 a

Gtlions Tracker 3658

通过hibernate进行参数校验遇到的版本冲突问题

参考:https://stackoverflow.com/questions/51776491/bean-validation-fails-for-spring-boot-application 在进行参数校验的时候抛出了如下异常: Caused by: java.lang.NullPointerException: null at sun.reflect.annotation.Ty...

dsfllx的博客 3680

INMP441麦克风与ESP32的I2S音频采集实战指南

本文提供了INMP441数字麦克风与ESP32开发板通过I2S接口进行高质量音频采集的完整实战指南。详细讲解了硬件连接、软件配置、数据读取及基础处理,并分享了常见的避坑技巧与性能优化建议,帮助开发者快速构建物联网音频应用。

weixin_28396629的博客 597

Hibernate-validator数据验证

3. @AssertFalse: 检查元素是否为 false,【支持数据类型:boolean、Boolean】4. @AssertTrue: 检查元素是否为 true,【支持数据类型:boolean、Boolean】5. @DecimalMax(value=, inclusive=):【支持数据类型:BigDecimal、BigInteger、CharSequence、(byte、short、int、long 和其封装类)】

lgxzzz的博客 1820

解决windows10下无法安装.net framework 3.5(包括.net2.0和3.0)

入域电脑,win10系统中安装 .net framework 3.5(包括.net2.0和3.0)

God_me_1的博客 4万+

PHM2010刀具磨损预测完整实现

本文介绍了PHM2010刀具磨损预测项目的完整实现方案。项目采用PHM2010公开数据集,包含6个子数据集,记录了铣削加工过程中7个通道的传感器数据(切削力、振动和声发射信号)。技术路线包括数据预处理(截取中间10万点、小波降噪)、特征提取(时域9个、频域4个特征)、特征融合和皮尔逊相关系数筛选,最终使用BiLSTM模型进行训练和评估。环境配置基于Python 3.9,依赖NumPy、Pandas、PyTorch等库。数据加载和预处理阶段重点处理了传感器信号分段和磨损标签对齐问题,为后续建模奠定基础。

huanghm88的专栏 415

Spring MVC利用Hibernate Validator实现后端数据校验

吐槽一下,网上坑好多啊!不过采坑才能学习,写bug能力-1。 JSR 303、JSR 349与Bean Validator 笼统来说,就是Java规定了一套关于验证器的API,规范先后发了两版,就是所谓的JSR 303与JSR 349。然后提出了基于规范的实现:Bean Validator。JSR 303是最早的,其对应了Bean Validator 1.0的版...

iwts 1万+

备战2025数学建模国赛(算法29):博弈论在数学建模竞赛中的应用

博弈论为数学建模竞赛提供了强大的分析工具,尤其适用于涉及多方互动决策的问题。本文介绍了博弈论的核心模型、算法实现及竞赛应用案例,并提供了完整的Python代码实现。扩展阅读方向不完全信息博弈与贝叶斯均衡合作博弈与联盟形成机制设计与拍卖理论随机博弈与马尔可夫决策过程博弈论与机器学习的结合。

YOLO 442

Hibernate Validator 数据校验框架

JSR:Java Specification Requests的缩写,意思是Java规范提案是指向JCP(Java Community Process) 提出新增一个标准化技术规范的正式请求任何人都可以提交JSR,以向Java平台增添新的API和服务JSR已成为Java界的一个重要标准就是这个JSR规范之一Bean Validation是一个运行时的数据验证框架的标准JSR303是专家组成员向JCP提交的第1版Bean Validation,即针对bean数据校验提出的一个规范,

从基础到源码解析的学习记录 4910

深度学习(五)迁移学习(实战:新数据预测+vgg16和聚类预测)

6、成功引入PCA数据降维技术,剔除了数据中的噪音信息、降低了模型复杂度、减少了模型训练时间,并最终提高了模型表现;gen=datagen.flow_from_directory(path,target_size=(224,224),batch_size=2,save_to_dir=dst_path,save_prefix='gen',save_format='jpg') # 生成图片大小224*224,bs产生多少组图像,存储路径和前缀。1、通过使用新数据,实现了模型的2次训练,达到了较好的预测效果;

weixin_37699342的博客 775

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Hibernate Validator利用注解进行数据验证 工程测试(17)

Hibernate Validator利用注解进行数据验证 工程测试maven pom.xml配置依赖库数据模型Goods控制器GoodsController数据输入addgoods.jsp数据展示showgoods.jspspring-servlet.xml配置文件测试 maven pom.xml配置依赖库 <!-- https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator -->

zhanghw的博客 209

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

hibernate-validator参数验证

引入jar包 <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>6.0.17.Final</version> </dependency&...

zhong5170的博客 310

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

SpringBoot + Hibernate Validator 验证参数

SpringBoot 之使用 Hibernate Validator验证参数1、在 pom 文件引入依赖2、在请求实体类中添加注解3、在控制层中添加注解(@Validated)4、自定义异常处理后的返回类5、自定义异常处理6、返回结果7、请求实体中常用的注解7.1 内置注解7.2 附加注解 1、在 pom 文件引入依赖   <dependency> ...

STRANGE-P 的博客 930

SpringMVC数据验证——注册用户格式的验证实例

服务器端的数据验证,对于一个WEB应用来说是非常重要的,而Spring从3.0开始支持JSR-303规范,它定义了一些标准的验证约束,同时也提供了一个可扩展的自定义方式来满足不同的开发需要,大象以SSM3为基础,结合实例来说明如何通过Spring MVC用自定义约束注解的方式来实现Validator验证。 validation-api是JSR-303规范的标准接口,hibernate-validator则是这套接口的一个实现,而hibernate-validator的实现里面又会用到slf4j,所以还需要加

Evankaka的专栏 1万+

Spring Boot集成Hibernate Validator

废话不多说,直接开始集成环境。 一、环境集成   在项目中hibernate-Validator包在spring-boot-starter-web包里面有,不需要重复引用 。(整个Demo都是用PostMan软件进行数据传输。) 二、Demo实例   此Mode中添加了些简单、常用的Validator注解 1 import com.shida.api.baseData.valida...

weixin_34005042的博客 237

Hibernate Validator Engine的用法

一、引入架包 maven地址 点击即可。 <!-- https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator --><dependency> <groupId>org.hibernate.validator</groupId> ...

weixin_30496751的博客 177

hibernate-validator自定义注解手动校验(动态message)

目录 一、背景 二、hibernate-validator 1.maven 2.校验工具类 3.自定义校验注解 4.测试实体类 5.main函数测试 三、测试结果 一、背景 在某些项目场景中,需要使用代码校验实体类的参数值是否符合需求,并且返回值是动态的情况下,此时需要校验工具类来实现此功能。 二、hibernate-validator 1.maven <dependency> <groupId>org.hibern

阿瑟与非 4347

Springboot hibernate-validator 6.x校验

hibernate-validator

蕃薯耀的博客 1044

SpringMVC整合Hibernate Validator验证方法与js校验

SpringMVC服务器验证一种是有两种方式,一种是基于Validator接口,一种是使用Annotaion JSR-303标准的验证,下面主要是学习这两种,工作中推荐后者,方便很多 使用Annotaion JSR-303标准的验证,需要页面刷新才可以,即当点击提交时,错误才能显示。可以通过js(JavaScript)来实现立即显示错误。 JavaScript 表单验证 Jav...

qq30211478的博客 826

Springboot进行hibernate-vidator数据验证

1、在进行Web项目开发的过程中,用户提交数据的合法性是最基础的验证手段,在SpringBoot中可以直接使用hibernate-vidator组件包实现验证处理,而此组件包中支持的验证注解,如图所示。 2、在src/main/resources目录下创建ValidationMessages.properties(文件名称为默认设置,不可更改)文件,该文件中要保留所有的错误提示信息。 1 userinfo.username.notnull.error=用户账号不能为空! 2 userinfo.em

Biexiansheng的博客 325
上一篇: Spring MVC验证器(15)
下一篇: Hibernate Validator利用注解进行数据验证 工程测试(17)
code&&coder
博客等级 码龄13年 76粉丝 201原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值