Springmvc之数据验证

Springmvc之数据验证

一、概述

在 Web 应用程序中,为了防止客户端传来的数据引发程序的异常,常常需要对数据进 行验证。输入验证分为客户端验证与服务器端验证。客户端验证主要通过 JavaScript 脚本进 行,而服务器端验证则主要是通过 Java 代码进行验证。  为了保证数据的安全性,一般情况下,客户端验证与服务器端验证都是要进行的。 

二、测试环境搭建

需求:

 姓名:非空,且长度 3-6 个字符 

 成绩:0-100 分 

 手机号:非空,且必须符合手机号格式 

 使用 Hibernate Validator验证

1,导入jar包


2,定义实体类


3,定义index页面


4,定义Controller


5,定义show页面


6,定义SpringMVC配置文件


三、实现数据验证

1,修改SpringMVC配置文件

验证器由 SpringMVC 框架的 LocalValidtorFactoryBean 类生成,而真正验证器的提供者则 是 HibernateValidator。  在 SpringMVC 配置文件中将验证器注册后,需要将其注入给注解驱动。 


2,在实体类属性上添加验证注解

使用的验证器注解均为 javax.validation.constraints 包中的类。  在注解的 message 属性中,可以使用{属性名}的方式来引用指定的注解的属性值。 


3,修改Controller


由于这里使用的验证器为 Bean 对象验证器,所以对于要验证的参数数据,需要打包后 由处理器方法以 Bean 形参类型的方式接收,并使用@Validated 注解标注。注意,不能将 @Validated 注解在 String 类型与基本类型的形参前。 紧跟着@Validated 所注解的形参的后面,是一个 BindingResult 类型的形参。通过该形参 可获取到所有验证异常信息。 


只要发生数据验证失败,则需要将页面重新跳转到 index.jsp 表单页面,让用户重填。  BindingResult 接口中常用的方法有: 

 getAllErrors():获取到所有的异常信息。其返回值为 List,但若没有发生异常,则该 List 为也被创建,只不过其 size()为 0,而非 List 为 Null。 

 getFieldError():获取指定属性的异常信息 

 getErrorCount():获取所有异常的数量  getRawFieldValue():获取到用户输入的引发验证异常的原始值 

4,页面显示异常信息




评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值