SpringMVC--验证器:Validator接口和ValidationUtils类

Spring5复习:对数据进行校验(ValidationUtils) 1.声明 当前内容主要为复习Spring中的对一个Bean进行属性校验,主要使用Errors和ValidationUtils这些Spring原生的校验 2.demo 创建需要校验的Bean:Person .java public class Person { private String name; private int age; public String getName() { return name; } public void setName(String name) { 阅读详情
Validator接口

创建自定义 Spring 验证器需要实现 org.springframework.validation.Validator 接口,该接口有两个接口方法:

boolean supports(Class<?> klass)
void validate(Object object,Errors errors)

当 supports 方法返回 true 时,验证器可以处理指定的 Class。validate 方法的功能是验证目标对象 object,并将验证错误消息存入 Errors 对象。

往 Errors 对象存入错误消息的方法是 reject 或 rejectValue,这两个方法的部分重载方法如下:

void reject(String errorCode)
void reject(String errorCode,String defaultMessage)
void rejectValue(String filed,String errorCode)
void rejectValue(String filed,String errorCode,String defaultMessage)

在一般情况下只需要给 reject 或 rejectValue 方法一个错误代码,Spring MVC 框架就会在消息属性文件中查找错误代码,获取相应错误消息。具体示例如下:

if(goods.getGprice() > 100 || goods.getGprice() < 0){
    errors.rejectValue("gprice","gprice.invalid");  // gprice.invalid为错误代码
}
ValidationUtils 类

org.springframework.validation.ValidationUtils 是一个工具类,该类中有几个方法可以帮助用户判定值是否为空。

例如:

if(goods.getGname()==null || goods.getGname().isEmpty()) {
    errors.rejectValue("gname","goods.gname.required")
}

再如:

if(goods.getGname() == null || goods.getGname().trim().isEmpty()) {
    errors.rejectValue("gname","goods.gname.required")
}

上述 if 语句可以编写成:

//gname为goods对象的属性
ValidationUtils.rejectIfEmptyOrWhitespace(errors,"gname","goods.gname.required");
从零搭建ECG心电图仪:模拟前端电路设计与噪声对抗实战 在电子工程和生物医学信号处理领域,微弱信号的采集与放大是核心挑战。其基本原理在于利用高精度模拟电路,从强大的环境噪声中提取出有用的差分信号。这项技术的核心价值在于将理论上的传感器信号转化为稳定、可靠的可用数据,是连接物理世界与数字系统的关键桥梁。在医疗监护、工业传感和科学测量等场景中,高性能的模拟前端设计直接决定了整个系统的精度与可靠性。本文聚焦于生物电信号采集这一具体应用,深入探讨如何运用差分放大器、低通滤波器和陷波滤波器等经典模块,构建一个能够有效对抗工频干扰和接触噪声的实用电路,最终实现从人体体表清晰 阅读详情

相关推荐

中国1990-2021连续30年土地利用CLCD数据分享

CLCD(China Land Cover Dataset)数据集是由武汉大学黄昕老师基于Google Earth Engine上的335,709景Landsat数据制作的中国年度土地覆盖数据集。为了提高CLCD的时空一致性,还提出了一种包含时空滤波和逻辑推理的后处理方法。该数据集最大的优势在于每年30米的土地利用分类结果,且连续覆盖了30年时间。相比其他产品如GLC_FCS30、Global30、AGLC2000_2015、FROM-GLC10、ESA10、ESRI10等,CLCD在时间分辨率上更高。

qq_48539301的博客 1万+

spring数据校验:Validation

在开发中,我们经常遇到参数校验的需求,比如用户注册的时候,要校验用户名不能为空、用户名长度不超过20个字符、手机号是合法的手机号格式等等。如果使用普通方式,我们会把校验的代码和真正的业务处理逻辑耦合在一起,而且如果未来要新增一种校验逻辑也需要在修改多个地方。而spring validation允许通过注解的方式来定义对象校验规则,把校验和业务逻辑分离开,让代码编写更加方便。Spring Validation其实就是对Hibernate Validator进一步的封装,方便在Spring中使用。

一个菜鸡的博客 5170

Cursor 使用教程(2025年更新版)

官方Cursor详细使用教程在“扩展学习”

我是赛博AI Lewis 7082

Spring之数据校验:Vaildation

return age;} }/*在这个参数里面,使用了两个注解,分别是@NotNull和@Valid。@NotNull注解表示该参数不能为空,如果参数为null,则会抛出javax.validation.ConstraintViolationException异常。@Valid注解表示该参数需要进行数据校验,对于复杂类型的参数,需要对其中的成员变量进行校验。

m0_52989725的博客 1059

YOLO26涨点改进 | 全网首发Conv独家改进篇 | CVPR 2025 | YOLO26引入FDConv频率动态卷积改进,含FDC3k2二次创新,小目标检测,能够捕捉更加丰富和复杂的特征信息

本文提出了一种频率动态卷积(FDConv)模块,用于改进YOLO26目标检测模型的性能。FDConv通过在傅里叶域内划分参数预算,构建具有频率多样性的权重,有效提升了模型对低频和高频信息的处理能力。该模块包含内核空间调制(KSM)和频率带调制(FBM)两个关键组件,分别实现空间级和频域级的动态调节。实验表明,FDConv仅增加3.6M参数就能超越其他需要大幅增加参数的方法,并在目标检测、实例分割等任务中表现优异。文章详细介绍了FDConv的原理、实现方法及在YOLO26中的集成方式,提供了完整的代码实现。

Ai缝合怪、助力小伙伴高效发论文 250

华为MetaERP在财务模块(GL/AP/AR/FA)及子账模块效率优化、月末关账加速、与外部系统对账方面,已形成一套**“并行+实时+智能化”**的完整技术方案

华为MetaERP推出"并行+实时+智能化"技术方案,显著提升财务模块效率:1)采用三级并行策略和内存计算,使子账模块单任务处理时间从142分钟降至9分钟;2)通过并行关账架构将月末关账时间从68小时压缩至7.2小时;3)运用AI智能对账提升效率50%,并支持异步流程和区块链审计。典型场景测试显示月结耗时下降89%,CPU利用率提升116%。方案建议分阶段实施,注意依赖分析、任务粒度设计和性能监控,避免过度并行。该方案已有效解决大型集团财务处理效率低、关账慢、对账难等痛点。

金牌架构师 559

Spring验证器之Validator接口

Spring验证器 数据验证分为客户端验证和服务器验证, 客户端验证主要是过滤正常用户的误操作,通过JavaScript代码完成; 服务器验证是整个应用阻止非法数据的最后防线,通过在应用中编程是实现。 Validator接口 创建自定义的Spring验证器需要实现org.springframework.validation.Validator接口,该接口有两个方法 boolean sup...

AaronCao 3770

YOLO创新点改进点的消融实验设计规范

YOLO改进的消融实验是一种重要的方法,用于评估和验证模型中不同组件的影响。在进行YOLO改进的消融实验时,我们可以选择一些可能的改进点,比如Backbone网络、Anchor框设计和损失函数设计,然后通过实验来分析它们对模型性能的影响。首先,我们需要确定实验设计。对于每个改进点,我们将设计多个实验组,并针对每个实验组训练模型并进行性能评估。这里以三个改进点为例进行说明:改进点1:Backbone网络 (改进点2:Anchor框设计 (改进点3:损失函数设计 (

crasher123的博客 2909

Spring MVC验证器:Validator接口和ValidationUtils类

本节主要介绍创建自定义 Spring 验证器时需要实现的 Validator 接口和工具类 ValidationUtils。

unber的博客 821

漏检率从23%降至1.3%:YOLOv8交通车辆计数与违章识别完整落地方案

本文分享了基于YOLOv8+ByteTrack的交通视频分析系统实战经验,针对车辆计数和违章识别两大核心功能,提出了完整的工程化解决方案。系统采用边缘计算架构,单张GTX 1660即可稳定处理8路1080P视频流,实现了白天98.7%、夜间96%以上的车辆计数准确率。文章详细剖析了交通视频分析的四大落地痛点,系统架构设计思路,以及遮挡处理、光照适应、多路并发等关键技术优化方案,重点介绍了车辆计数三重校验机制和三类违章识别的工程实现细节。通过ROI裁剪、TensorRT加速、动态抽帧等优化手段,显著提升了系统

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 340

【数据集】中国大气污染物数据集CHAP(1km空间分辨率)-韦晶团队

中国大气污染物数据集CHAP(1km空间分辨率)-韦晶团队

WW、forever的博客 2599

SpringMVC Validator 验证器使用方法汇总,自定义validator及使用hibernate-validator

参考:https://www.jianshu.com/p/f65228a5fe3e 1、实现Validator接口,定义验证器直接在方法中使用,定义方法如下,实现supports方法和validate方法: package validator; import domain.Goods; import org.springframework.stereotype.Component; ...

yzy85的专栏 1950

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

验证器

  输入验证是Spring处理的最重要的Web开发任务之 一。在Spring MVC中,有两种方式可以验证输入,即 利用Spring自带的验证框架,或者利用JSR 303实现。 本章将详细介绍这两种输入验证方法 一.验证概览   Converter和Formatter作用于field级。在MVC应用 程序中,它们将String转换或格式化成另一种Java类 型,如java.util.Date...

weixin_30645617的博客 439

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Spring MVC:验证器和@InitBinder

很难想象没有针对用户数据的验证逻辑的Web应用程序。 几乎所有用户的数据都有一些限制,例如,出生日期应包括日,月,年等。SpringMVC拥有自己的数据验证解决方案,并且可以通过Validator界面使用 。 Spring MVC Validator的用法 当您从用户那里收到某种数据时,及时进行验证是有意义的。 一种明显的方法是使用Web表单。 Validator接口是一种实现整个Sp...

最佳 Java 编程 343

Camera2Demo

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

(笔记)Spring MVC学习指南_验证器

验证器

slowly_come_faster 747

springMVC中使用 JSR-303验证器( Validation 接口 )

在pom.xml,添加validator验证器的依赖 <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> ...

dei5960的博客 203

Spring验证示例 - Spring MVC Form Validator

Spring验证示例 - Spring MVC Form Validator 当我们在任何Web应用程序中接受用户输入时,就有必要对它们进行验证。我们可以使用JavaScript验证客户端的用户输入,但是还必须在服务器端验证它们,以确保我们正在处理有效数据,以防用户禁用javascript。 目录[隐藏] 1Spring验证 2Spring MVC Form Valid...

YunWisdom 576

Spring MVC:Trgger手动验证表单对象

有时可能需要在Spring MVC @Controller中使用手动验证。 使用Spring的org.springframework.validation.ValidationUtils类非常简单。 了解如何在两种不同的情况下调用验证器。 方案1 –调用验证 在这种情况下,我有一个带有用户名字段的用户表单。 用户名字段使用自定义验证器进行验证,以验证例如数据库中的存在。 public ...

最佳 Java 编程 242

数据验证详解

数据验证分为客户端验证和服务器端验证。

m0_46189781的博客 503

Spring MVC数据验证

用户的输入一般是随意的,为了保证数据的合法性,数据验证是所有 Web 应用必须处理的问题。 在 Spring MVC 框架中有以下两种方法可以验证输入数据: 利用 Spring 自带的验证框架。 利用 JSR 303 实现。 数据验证分为客户端验证和服务器端验证,客户端验证主要是过滤正常用户的误操作,通过 JavaScript 代码完成。服务器端验证是整个应用阻止非法数据的最后防线,通过在应用...

惊鸿的技术博客 807

Spring MVC功能配置示例

Spring MVC的配置应用示例

onePlus5T的博客 543

Spring数据校验Validation详解,JSR-330使用,源码分析

​ JSR 303中提出了Bean Validation,表示JavaBean的校验,Hibernate Validation是其具体实现,并对其进行了一些扩展,添加了一些实用的自定义校验注解。​ Spring中集成了这些内容,你可以在Spring中以原生的手段来使用校验功能,当然Spring也对其进行了一点简单的扩展,以便其更适用于Java web的开发。

秃了也弱了 2601

使用Spring的Validator进行校验

使用Spring的Validator进行校验 单对象校验 让我们考虑一个小的数据对象: import lombok.Data; @Data public class Person { private String name; private int age; } 我们将通过实现以下两个方法来提供Person类的验证行为 org.springframework.validati...

盲目的拾荒者的博客 2406

Spring系列之验证-14

目录Java Bean 验证Bean 验证概述配置 Bean 验证提供程序注入验证器配置一个`DataBinder`Spring MVC 3 验证 Java Bean 验证 Bean 验证概述 Bean Validation 通过约束声明和 Java 应用程序的元数据提供了一种通用的验证方式。要使用它,您可以使用声明性验证约束来注释域模型属性,然后由运行时强制执行。 Bean Validation 允许您声明约束,如以下示例所示: public class PersonForm { @NotNul

一片冰心 564
上一篇: SpringMVC--数据验证简介
下一篇: SpringMVC--验证器应用实例(超详细)
吴声子夜歌
博客等级 码龄9年 2688粉丝 2270原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值