您当前的位置: 首页 >  spring

星夜孤帆

暂无认证

  • 1浏览

    0关注

    626博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

SpringMVC基础-11-数据校验

星夜孤帆 发布时间:2019-04-21 22:41:31 ,浏览量:1

springmvc.xml


        
	
	
	
	
	
	
	
    	
	

	

	
	
	
	
	
	
	



	
	
	
	
	
	
	
		
			
				
				error/myerror
			
		
		
		
		
		
		
	
	
	
	
	
    
	
	
	
	
	
	
	
	
	
		
	
	
	
	
		
		
	
	

	
	

 
User.java
package com.monkey1024.bean;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;

/*
 * 用户
 */
public class User {
	
	@NotEmpty(message="姓名不能为空")
	@Size(min=4,max=20,message="姓名长度必须在{min}-{max}之间")
	private String name;
	
	@Min(value=0,message="年龄不能小于{value}")
	@Max(value=120,message="年龄不能大于{value}")
	private int age;
	
	@Pattern(regexp = "^1([358][0-9]|4[579]|66|7[0135678]|9[89])[0-9]{8}$", message = "手机号码不正确")
	private String phone;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getPhone() {
		return phone;
	}
	public void setPhone(String phone) {
		this.phone = phone;
	}

	
}
UserController.java
package com.monkey1024.controller;


import java.util.List;

import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.validation.FieldError;
import org.springframework.validation.ObjectError;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.monkey1024.bean.User;

@Controller
@RequestMapping("/user")
public class UserController {
	@RequestMapping("/register.do")
	//@Validated不能加在String类型或者是基本数据类型的前面
	//BindingResult可以获取所有验证异常的信息
	public ModelAndView register(@Validated User user,BindingResult br){
		ModelAndView mv = new ModelAndView();
		List allErrors = br.getAllErrors();
		
		//如果数据校验不通过,就进入下面的判断里面
		if(allErrors!=null && allErrors.size()>0){
			FieldError nameError = br.getFieldError("name");
			FieldError ageError = br.getFieldError("age");
			FieldError phoneError = br.getFieldError("phone");
			if(nameError != null){
				mv.addObject("nameError",nameError.getDefaultMessage());
			}
			if(ageError!=null){
				mv.addObject("ageError",ageError.getDefaultMessage());
			}
			if(phoneError!=null){
				mv.addObject("phoneError",phoneError.getDefaultMessage());
			}
			mv.setViewName("/register");
			return mv;
		}
		mv.addObject("name",user.getName());
		mv.addObject("msg","注册成功!");
		mv.setViewName("/user");
		return mv;
	}
	

}
user.jsp




Insert title here


${name }
${age }

 
regist.jsp




Insert title here


	
		姓名:${nameError }
		年龄:${ageError }
		手机号:${phoneError }
		
	

 

 

关注
打赏
1636984416
查看更多评论
立即登录/注册

微信扫码登录

0.0422s