Spring MVC验证器:Validator接口和ValidationUtils类
创建自定义 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为错误代码
}
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
由于篇幅有限,大家可参考《Spring MVC验证器应用实例》教程巩固学习。
22590.html
gohtmlspring相关文章
- Spring学习笔记(十八)——spring日志框架的配置和使用
- Spring Boot 实现接口幂等性的 4 种方案
- Spring Boot 一个接口同时支持 form 表单、form-data、json 的优雅写法
- Spring中,三级缓存解决循环依赖[通俗易懂]
- 一个依赖搞定 Spring Boot 接口防盗刷
- Spring Cloud:第三章:Ribbon客服端负载均衡
- 大白话详解Spring Cloud服务降级与熔断
- Spring在单例模式下的线程安全
- 兵马未动,粮草先行——spring码前准备
- springboot配置多个yml_spring几种配置方式
- spring RestTemplate调用OAuth2客户端授权接口样例
- Spring监听器-spring源码详解(五)
- Spring Boot 3.0横空出世,快来看看是不是该升级了
- Spring 四种方式教你异步接口返回结果
- [Spring Cloud]JPA为什么那么好用
- Spring Boot 2.x基础教程:配置元数据的应用
- Spring 5.3 正式GA,维护至2024年,4.3版本年末结束维护
- Spring Cloud Gateway环境搭建和配置(二)
- spring的AOP(四)—-Spring AOP 编程(Advisor)详解编程语言
- 动态修改spring job定时器详解编程语言
- Spring Boot(二十):使用spring-boot-admin对spring-boot服务进行监控详解编程语言
- Spring Security访问控制详解编程语言
- Spring Boot 2.x :通过 spring-boot-starter-hbase 集成 HBase