Spring MVC验证器:Validator接口和ValidationUtils类
本节主要介绍创建自定义 Spring 验证器时需要实现的 Validator 接口和工具类 ValidationUtils。
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");
由于篇幅有限,大家可参考《Spring MVC验证器应用实例》教程巩固学习。
Spring MVC验证器:Validator接口和ValidationUtils类相关推荐
- Spring MVC验证器应用实例(超详细)
本节使用一个应用 springMVCDemo08 讲解 Spring 验证器的编写及使用.该应用中有一个数据输入页面 addGoods.jsp,效果如图 1 所示. 有一个数据显示页面 goodsLi ...
- Spring MVC拦截器~~~登陆验证拦截
[ 30 分 钟 轻 松 入 门 Spring MVC][web 三 大 组 件 之 ~ ~ Filter 过 滤 器] Interceptor 拦截器学习: 1.了解spring mvc拦截器的概念 ...
- spring mvc拦截器_Spring MVC拦截器示例
spring mvc拦截器 我认为现在是时候看看Spring的MVC拦截器机制了,这种机制已经存在了很多年,并且是一个非常有用的工具. Spring Interceptor会按照提示说:在传入的HTT ...
- [Spring mvc 深度解析(三)] 创建Spring MVC之器
第9章 创建Spring MVC之器 本章将分析Spring MVC自身的创建过程.首先分析Spring MVC的整体结构,然后具体分析每一层的创建过程. 1 整体结构介绍 Spring MVC中 ...
- 【Java Web开发学习】Spring MVC 拦截器HandlerInterceptor
[Java Web开发学习]Spring MVC 拦截器HandlerInterceptor 转载:https://www.cnblogs.com/yangchongxing/p/9324119.ht ...
- Java Spring MVC框架 VIII 之 Spring MVC拦截器
Java Spring MVC框架 VIII 之 Spring MVC拦截器 Spring MVC拦截器 1.拦截器简介 拦截器是SpringMvc框架提供的功能 它可以在控制器方法运行之前或运行之后 ...
- spring mvc 拦截器拦截jsp页面
spring mvc 拦截器怎么拦截jsp页面 你这个 是拦截带 /jsp 的 .do请求 解决方案 用spring 的拦截器 去拦截 所有的 .do 请求, 然后写一个 过滤器去拦截 所有的.jsp ...
- 使用session监听+spring MVC拦截器禁止用户重复登录
在许多web项目中,需要禁止用户重复登录.一般来说有两种做法: 一是在用户表中维护一个字段isOnLine(是否在线),用户登录时,设定值为true,用户退出时设定为false,在重复登录时,检索到该 ...
- Spring MVC拦截器实现用户登录权限验证案例
本节将通过拦截器来完成一个用户登录权限验证的 Web 应用 springMVCDemo07,具体要求如下:只有成功登录的用户才能访问系统的主页面main.jsp,如果没有成功登录而直接访问主页面,则拦 ...
最新文章
- 阿里达摩院新研究:实习生一作突破自动驾驶技术难题,首次实现3D物体检测精度与速度兼得...
- IDEA 在线翻译插件
- python条件语句-Python3 条件控制
- 我要彻底给你讲清楚,Java就是值传递,不接受争辩的那种!
- 两台虚拟服务器如何级联,[教程] 利用open vswitch建立vxlan隧道实现不同主机上的虚拟交换机级联...
- pythonwhile循环怎么修改数据类型_python开发学习day05 (while循环; for循环; 数字类型操作)...
- [USACO09OCT]热浪Heat Wave
- 20172313 2018-2019-1 《程序设计与数据结构》第六周学习总结
- 随想录(工作后的一点思考)
- 焊缝标注vlx实用程序_【CAD自动标注插件下载】CAD自动标注插件yjbz.VLX v1.0 最新版-开心电玩...
- jabber服务器_最近JavaScript Jabber播客-Microsoft(而非Microsoft)和Web
- ofd电子文档内容分析工具(分析文档、签章和证书)
- 基线_项目管理之答疑解惑:基准与基线??
- 2022美国大学生数学建模竞赛C题摘要及总结
- 鸿蒙系统手机电脑互传文件,效率提升利器,手机与电脑之间如何快速传输文件?...
- python实现网络与IP地址计算
- [Unity3D]手机3D游戏开发:FPS射击游戏中瞄准镜CrossHair的制作
- Arduino手动添加ESP32相关开发板(图文并茂)
- 第41章 	RS-485通讯实验—零死角玩转STM32-F429系列
- 超分辨率——综述文章
热门文章
- linux脚本中swith,BeanShell中switch语句
- vSAN其实很简单-如何处理“vSAN磁盘写满”问题?
- Spring学习总结(25)——注解@PostConstruct和@PreDestroy使用总结
- 一阶倒立摆的输入和输出是什么_了解一阶高通滤波器传递函数
- ca 自建 颁发证书_自建 ca 及使用 ca 颁发证书
- SpringBoot系列: 与Spring Rest服务交互数据
- 字符串转命令行字符图片
- 03bash特性详解
- ————————C语言中快速排序方法——————————————
- JavaScript中的函数表达式