学习这条路没有捷径可走。愿我们一直坚持不懈的走下去,初心不忘!
数据校验 也叫 数据验证
比较常用的 Hibernate validater
1.引jar包 4个
org.hibernate hibernate-validator 4.0.1.GA org.jboss.logging jboss-logging 3.3.0.Final javax.validation validation-api 1.0.0.GA 2.配置验证器 org.slf4j slf4j-api 1.7.21
3在Model上打标记
public class UserInfo { //需是0~100之间 @Min(value = 0,message = "成绩最小值为{value}") @Max(value = 100,message = "成绩最大值为{value}") private Integer score; @NotEmpty(message = "用户不能为空") @Size(min = 4,message = "名称至少4个") private String name; @NotEmpty(message = "手机号不能为空") @Pattern(regexp = "^1[3,4,5,6,7,8,9]\\d{9}$",message = "手机号码不正确") private String phone; public Integer getScore() { return score; } public void setScore(Integer score) { this.score = score; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } }
4 在Controller方法中
植入二个参数@Controller public class FirstController { @RequestMapping("/first") public ModelAndView doFirst(@Valid UserInfo info, BindingResult br) { ModelAndView mv = new ModelAndView(); mv.setViewName("/WELCOME.jsp"); //侦测错误验证总数的方法 int errorcount = br.getErrorCount(); if (errorcount > 0) { FieldError score = br.getFieldError("score"); FieldError name = br.getFieldError("name"); FieldError phone = br.getFieldError("phone"); if (score != null) { mv.addObject("scoremsg", score.getDefaultMessage()); } if (name != null) { mv.addObject("namemsg", name.getDefaultMessage()); } if (phone != null) { mv.addObject("phonemsg", phone.getDefaultMessage()); } mv.setViewName("/index.jsp"); } return mv; } }