10. JSR303验证

10. JSR303验证

	1. 引入验证依赖包
		classmate-1.3.3.jar
		hibernate-validator-5.4.0.Final.jar
		jboss-logging-3.3.0.Final.jar
		validation-api-1.1.0.Final.jar
	2.验证
		2.1先在要验证的实体上添加验证注解@Valid
			public User saveUser(@Valid User u) {
				
				return u;
			}
		2.2然后在实体的属性上对每一个属性进行验证
			public class User {
				private  int uid;
				@NotEmpty(message="用户名不能为空")
				private String uname;
				//@DateTimeFormat(pattern="yyyy-MM-dd")
				private Date date;
				@Length(min=3,max=6,message="密码长度介于3-6位")
				private String pwd;
				private String remark;
				private String hobbies;
				@NotEmpty(message="职位不能为空!")
				private List jobs;
			}
		2.3然后在处理器方法中通过BindingResult接受验证后的错误信息,同时通过@ModelAttribute注解将实体对象以及验证后的错误信息返回到页面
			@RequestMapping("saveUser")
			public User saveUser(Model m,@ModelAttribute("user") @Valid User u,BindingResult br) {
				
				return u;
			}
		2.4在处理器方法中进行逻辑判断,验证没有错误则跳转到其他页面,有错误信息则转发到当前页面
			@RequestMapping("saveUser")
			public String saveUser(Model m,@ModelAttribute("user") @Valid User u,BindingResult br) {
				if (br.hasErrors()) {
					//有错误信息
					List wlist=new ArrayList<>();
					wlist.add(new Work(1, "项目经理"));
					wlist.add(new Work(2, "高级程序员"));
					wlist.add(new Work(3, "人事总监"));
					m.addAttribute("wlist", wlist);
					return "form";
				}
				return "main";
			}
		2.5在form.jsp显示错误信息通过标签 
			
				姓名:
				
ID :
密码:
简述:
爱好:聊天天1 聊天天2 聊天天3
职位:
保存

你可能感兴趣的:(springmvc)