《Java从入门到放弃》入门篇:springMVC数据校验

昨天我们扯完了数据传递,今天我们来聊聊数据校验的问题。来,跟着我一起读:计一噢叫,一按艳。

j_0019.gif

在springMVC中校验数据也非常简单,spring3.0拥有自己独立的数据校验框架,同时支持JSR303标准的校验框架。

Spring的DataBinder在进行数据绑定时,会同时调用校验框架完成数据校验工作。

具体使用步骤如下:

    1)导入数据校验的JAR包

    2)在springmvc的配置文件中添加校验Bean

    3)修改实体类,在属性上加上校验的注解

    4)修改昨天的login4方法,加上校验的相关代码

    5)修改JSP页面,加上错误提示

    6)输入地址,测试效果

好了,来看看详细的实现吧,非常简单滴!j_0005.gif

 

第一步:将数据校验Jar包复制到项目的lib目录下(可以在链接: http://pan.baidu.com/s/1mhQ44yO 密码: sd45去下载)。

    hibernate-validator-4.3.0.Final.jar

    jboss-logging-3.1.0.CR2.jar

    validation-api-1.0.0.GA.jar

    

第二步:修改springMVC配置文件,添加如下代码

1
2
     <!-- 数据校验 -->
     < bean  id = "validator"  class = "org.springframework.validation.beanvalidation.LocalValidatorFactoryBean" ></ bean >

 

第三步:修改昨天的User实体类,加上账号和密码的检验(账号只能是8~20位的字母、数字或下划线,密码可以是任意字符,长度必须在6~10位)。

1
2
3
4
     @Pattern (regexp= "^\\w{8,20}$" , message= "账号只能是8~20位的字母、数字或下划线" )
     private  String loginid;
     @Length (min= 6 , max= 10 , message= "密码长度必须在6~10位" )
     private  String loginpwd;

 

第四步:修改login4方法,加上校验相关的代码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
     @RequestMapping ( "/login4" )
     public  ModelAndView login4( @Valid  @ModelAttribute ( "user" ) User use, BindingResult bindingResult,
             HttpServletRequest request, HttpServletResponse response, HttpSession session){
         ModelAndView mav =  new  ModelAndView( "index.jsp" );
         
         //判断校验结果
         if (bindingResult.hasErrors()){
             mav.setViewName( "login.jsp" );
             return  mav;
         }
         
         if (use.getLoginid().equals( "admin" ) && use.getLoginpwd().equals( "666" )){
             use.setNickname( "我是黄河你是海流" );
             //mav.addObject("user", use);            //添加需要传递到下一个视图的数据
             session.setAttribute( "user" , use);
         }
         else {
             mav.addObject( "msg" "猪脑子,账号和密码都输不对!" );
             mav.setViewName( "login.jsp" );         //修改视图
         }
         return  mav;
     }

注意:在User对象前面加上@Valid注解,在该对象之后加上BindingResult对象。BindingResult的hasErrors方法表示校验是否出错,如果有错误则为true。

 

第五步:修改JSP页面,使用springMVC的标签<form:errors>来显示错误。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!-- 在顶部加上对form标签的引用 -->
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
 
     < form:form  modelAttribute = "user"  action = "login4.form"  method = "post" >
         <!-- 
                 path:表示检验信息(*表示所有,如果只想显示某一个属性的验证信息,直接写属性名)
             cssStyle:表示该区域的样式
              element:表示该区域使用的容器标签 
         -->
         < form:errors  path = "*"  cssStyle = "color:red;"  element = "div" ></ form:errors >
         账号:< input  name = "loginid"  type = "text"  />< br  />
         密码:< input  name = "loginpwd"  type = "password"  />< br  />
         < input  type = "submit"  value = "登录"  />
     </ form:form >

 

第六步:访问login.jsp页面,测试错误数据时的效果。

wKioL1mSsvaiOsYdAAAsENFQqcQ996.png

 

到这儿,关于springMVC的数据校验就OK了。

当然,校验的注解不只这么只个,如果大家有兴趣,可以自行百度。

什么!!!!你居然不会百度!!!!!

好吧,谁叫这是入门篇呢,我帮你百度吧···j_0016.gif

wKioL1mStOKDCtmFAABxg8Emhww000.png

wKiom1mStOPhgQoXAADD9OXbBDE412.png

够意思了吧,还帮你变成了图片,免得你保存不方便·,不用谢我,我姓雷,名傲天...j_0015.gif

转载于:https://www.cnblogs.com/yixueyuan/p/7366111.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值