博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springmvc 集成和使用 hibernate-validator
阅读量:6264 次
发布时间:2019-06-22

本文共 1751 字,大约阅读时间需要 5 分钟。

hot3.png

如果有前端做检验一般不需要后端校验的,但是一下 场景下还是需要的 后端校验的。、 所以集成了下。 如果 想是 spring-boot 那么 它已经自带 校验了,,而且 校验 使用的就是 hibernate-validator 校验的,可以看看 spring-boot 校验包。

那么这里说的是 spring MVC 的 集成。

百度了一通,和自己 实践,需要导入 校验包即可,,不需要其他依赖包了。

org.hibernate
hibernate-validator
5.4.1.Final

用法,例子:

@GetMapping("/girl")	@ResponseBody	public Girl girlSubmit(@Valid Girl girl , 			BindingResult bindingResult			) {		// @Valid 校验 该 girl 类,,类里面 有对应的校验 注解的		// bindingResult 校验后的结果		if (bindingResult.hasErrors()) {			// 有 校验错误,,打印出来 信息 			System.out.println(bindingResult.getFieldError().getDefaultMessage());			return null;		}				girl.setAge(girl.getAge());				return girl;	}

百度了一通, 基本的 初级用法是这样的。 可是有一个问题就是,, 每次校验我们都需要 写 和判断是否 校验通过了,好烦啊比如:

if (bindingResult.hasErrors()) {    。。。。校验不通过处理逻辑}

其实是可以把校验不通过 当做一个 异常,然后 拦截异常通过 处理的。例子:

@RequestMapping("/test")	@ResponseBody	public String test(@Valid TestModel tm ) {				/*if (result.hasErrors()) {			// @Valid 校验 该 girl 类,,类里面 有对应的校验 注解的			// bindingResult 校验后的结果				// 有 校验错误,,打印出来 信息 			System.out.println(result.getFieldError().getDefaultMessage());				return result.getFieldError().getDefaultMessage();		}*/				return "test"+tm.getAge();			}

拦截 校验异常 : 代码

//校验异常		@ExceptionHandler(value=BindException.class)		@ResponseBody		public String handlevalid(BindException e,BindingResult bindingResult) {						System.out.println("###"+bindingResult.getFieldError().getDefaultMessage());			System.out.println(e);			System.out.println("11==="+e.getCause());			System.out.println("22==="+e.getMessage());// 记录异常			return e.getMessage();		}

参考即可了。。 下面是 xml 配置 校验器的,百度的都是这样差不多了:

以上OK 了。。

参考地址: 以及地址:

转载于:https://my.oschina.net/u/2419285/blog/1478673

你可能感兴趣的文章
AWS开发人员认证考试样题解析
查看>>
Linux_DHCP服务搭建
查看>>
日请求亿级的 QQ 会员 AMS 平台 PHP7 升级实践
查看>>
【Coursera】Security Introduction -Eighth Week(2)
查看>>
Vue系列:如何将百度地图包装成Vue的组件
查看>>
Charles 从入门到精通
查看>>
MVC5 + EF6 简单示例
查看>>
Mysql Innodb存储引擎 insert 死锁分析
查看>>
好的用户界面-界面设计的一些技巧
查看>>
全端开发必备!10个最好的 Node.js MVC 框架
查看>>
初始Knockout
查看>>
HADOOP 2.6 INSTALLING ON UBUNTU 14.04 (hadoop 2.6 部署到ubuntu 14.04上面)
查看>>
OSSIM架构与组成综述
查看>>
用ASP.NET Core 2.0 建立规范的 REST API -- 预备知识 (2) + 准备项目
查看>>
数据分析:基于Python的自定义文件格式转换系统
查看>>
如何重置Sitecore CMS中的管理员密码
查看>>
[SilverLight]DataGrid实现批量输入(like Excel)(补充)
查看>>
PHP 杂谈《重构-改善既有代码的设计》之三 重新组织数据
查看>>
NSBundle介绍
查看>>
POJ1811_Prime Test【Miller Rabin素数測试】【Pollar Rho整数分解】
查看>>