服务器端的数据校验通过JSR303实现?

步骤:

一、JSR303服务器端校验jar包


二、给pojo类中的需要验证的属性增加相应的校验注解


约束

说明

@Null

被注释的元素必须为null

@NotNull

被注释的元素必须不为null

@AssertTrue

被注释的元素必须为 true

@AssertFalse

被注释的元素必须为 false

@Min(value)

被注释的元素必须是一个数字,其值必须大于等于指定的最小值

@Max(value)

被注释的元素必须是一个数字,其值必须小于等于指定的最大值

@DecimalMin(value)

被注释的元素必须是一个数字,其值必须大于等于指定的最小值

@DecimalMax(value)

被注释的元素必须是一个数字,其值必须小于等于指定的最大值

@Size(max, min)

被注释的元素的大小必须在指定的范围内

@Digits (integer, fraction)

被注释的元素必须是一个数字,其值必须在可接受的范围内

@Past

被注释的元素必须是一个过去的日期

@Future

被注释的元素必须是一个将来的日期

Spring本身没有提供JSR 303的实现

实现者:Hibernate Validator

测试


jsp页面

<%@ taglib prefix="fm" uri="http://www.springframework.org/tags/form"%>


<fm :form>标签
modelAttribute
指定绑定的模型属性,默认为command
建议指定
action
指定表单提交的目标URL
可不指定,则自动提交到获取表单页面的URL
method
GET
POST

controller.java

//    后端验证 jsr 303验证
	     @RequestMapping(value="/add.html",method=RequestMethod.GET)
	     public String add(){
	    	 return "user/useradd";
	     }
	     
	     @RequestMapping(value="/add.html",method=RequestMethod.POST)
	     public String addSave(@Valid User user,BindingResult bindingResult,HttpSession session){
	    	 if(bindingResult.hasErrors()){
	    		   return "user/useradd";
	    	 }
	    	 user.setCreatedBy(((User)session.getAttribute(Constans.USER_SESSION)).getId());
		     user.setCreationDate(new Date());
		     if(userService.add(user)){
		    	 return "redirect:/user/userlist.html";
		     }
		     return "user/useradd";
	     }

猜你喜欢

转载自blog.csdn.net/java_stud/article/details/81020766
今日推荐