springMVC使用JSR303数据校验
JSR303注解

hibernate validate是jsr 303的一个参考实现,除支持所有的标准校验注解外,他还支持扩展注解

spring4.0拥有自己独立的数据校验框架,同时支持jsr 303标准的校验框架。
spring在进行数据 绑定时,可通过调用校验框架完成数据校验工作。在springMVC中,可直接通过注解驱动的方式进行数据校验。
spring的localvalidatorFactoryBean既实现了spring的validator接口,也实现了jsr 303的validate接口。只要在spring容器中定义了一个LocalValidateFactoryBean,即可将注入到需要的数据校验bean中。
spring本身并没有提供jsr 303的实现,所以必须将jsr 303的实现者jar包放在类路径下。
在maven配置文件中加入hibernate validator的依赖包。
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.4.1.Final</version>
</dependency>
<mvc:annotation-driven></mvc:annotation>会默认装配好一个LocalValidateFactoryBean,通过在处理方法的入参上标注@Valid注解即可让springMVC在完成数据绑定后执行数据校验的工作。
在Bean上加注解

通过在控制层的处理方法入参上标注@Valid注解即可让springMVC在完成数据绑定后执行数据校验的工作。

通过REST Client发送请求

结果显示为空的字段不包括身份证号,手机号,姓名了。
springMVC使用JSR303数据校验的更多相关文章
- SpringMvc中的数据校验
SpringMvc中的数据校验 Hibernate校验框架中提供了很多注解的校验,如下: 注解 运行时检查 @AssertFalse 被注解的元素必须为false @AssertTrue 被注解的元素 ...
- SpringMVC 使用JSR-303进行校验 @Valid
注意:1 public String save(@ModelAttribute("house") @Valid House entity, BindingResult result ...
- [SpringBoot] - 配置文件的多种形式及JSR303数据校验
Springboot配置文件: application.yml application.properties(自带) yml的格式写起来稍微舒服一点 在application.properties ...
- YAML语法使用,JSR303数据校验
YAML YAML是 "YAML Ain't a Markup Language" (YAML不是一种置标语言)的递归缩写 # yaml配置 server: prot: YAML语 ...
- Springboot:JSR303数据校验(五)
@Validated //开启JSR303数据校验注解 校验规则如下: [一]空检查 @Null 验证对象是否为null @NotNull 验证对象是否不为null, 无法查检长度为0的字符串 @No ...
- springboot配置(yami配置文件,JSR303数据校验,多环境配置)
yami配置文件 YAML是 "YAML Ain't a Markup Language" (YAML不是一种标记语言)的递归缩写.在开发的这种语言时,YAML 的意思其实是:&q ...
- SpringMVC框架07——服务器端JSR303数据校验
1.数据校验概述 数据校验分为客户端校验和服务器端校验,客户端主要是通过过滤正常用户的误操作,是第一道防线,一般使用JavaScript代码实现.但是只有客户端校验是不够的,攻击者可以绕过客户端验证直 ...
- 【SpringMVC学习06】SpringMVC中的数据校验
这一篇博文主要总结一下springmvc中对数据的校验.在实际中,通常使用较多是前端的校验,比如页面中js校验,对于安全要求较高的建议在服务端也要进行校验.服务端校验可以是在控制层conroller, ...
- JSR303数据校验
Springboot中可以用@validated来校验数据,如果数据异常则会统一抛出异常,方便异常中心统一处理. 导入依赖: <dependency> <groupId>org ...
随机推荐
- Python os.lchown() 方法
概述 os.lchown() 方法用于更改文件所有者,类似 chown,但是不追踪链接.高佣联盟 www.cgewang.com 只支持在 Unix 下使用. 语法 lchown()方法语法格式如下: ...
- PHP is_float()、 is_double()、is_real()函数
is_float() 函数用于检测变量是否是浮点型. 别名函数:is_double(),is_real().高佣联盟 www.cgewang.com 注意: 若想测试一个变量是否是数字或数字字符串(如 ...
- PHP lcfirst() 函数
实例 把 "Hello" 的首字符转换为小写.: <?php高佣联盟 www.cgewang.comecho lcfirst("Hello world!" ...
- Vue通过Blob对象实现导出Excel功能
不同的项目有不同的导出需求,有些只导出当前所显示结果页面的表格进入excel,这个时候就有很多插件,比如vue-json-excel或者是Blob.js+Export2Excel.js来实现导出Exc ...
- 简单的vector--- 2
如何重载operator[] 及其相关细节 如何使用 const_cast<>( ) 和 static_cast<>( ) 模板类 如何内部声明,外部定义友元函数 使用 ...
- VSCode C++环境配置(个人使用)
tasks.json { "version": "2.0.0", "command": "g++", "arg ...
- Python3.x+Fiddler抓取APP数据
随着移动互联网的市场份额逐步扩大,手机APP已经占据我们的生活,以往的数据分析都借助于爬虫爬取网页数据进行分析,但是新兴的产品有的只有APP,并没有网页端这对于想要提取数据的我们就遇到了些问题,本章以 ...
- 恢复HTML表格笔记
表格 语法: 标记: <table></table>:表示一个表格 属性: ...
- 【API进阶之路】高考要考口语?我用多模态评测API做了一场10w+刷屏活动
摘要:闲着没事用多模态评测API做了一个测评英语口语的互动小游戏,居然成了一场10万人参与的刷屏级活动. 上一期故事说到,我成为了公司技术委员会副主席,上任后的第一件事是建立了一个云容器化的研发资料库 ...
- java web 下载文件 response.setHeader()的用法 (转载)
response.setHeader()的用法 response.setHeader()下载中文文件名乱码问题 收藏 1. HTTP消息头 (1)通用信息头 即能用于请求消息中,也能用于响应信息中,但 ...