spring后台数据校验
先导入包
pom文件给你
<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>4.3.1.Final</version> </dependency> <!--validation api--> <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>1.0.0.GA</version> </dependency>
页面也给你
<h1>数据校验</h1> <form action="/register" method="post"> 年龄:<input name="userage" /> <span>${agemsg }</span><br/><br/> 姓名:<input name="username"/><span>${namemsg }</span><br/><br/> 电话:<input name="userphone"/><span>${phonemsg }</span><br/><br/> 出生日期:<input name="birthday"/> <span>${birthdaymsg}</span><br/><br/> 邮箱:<input name="email"/> <span>${emailmsg}</span><br/><br/> <input type="submit" value="注册"/> </form>
数据验证 , 对后台模型的验证,实体类属性的属性
那我实体类也给一给
public class Userinfo { @NotNull(message = "用户名不能为空") @Size(min =6 ,max = 20,message = "name long {min}-{max}") private String username; @Max(value = 150,message = "最老150岁") @Min(value = 0,message = "最小0岁") private Integer userage; @NotNull(message = "出生日期不能为空") @DateTimeFormat(style = "yyyy-MM-dd") private Date brithday; @NotNull(message = "电话号码不能为空") @Pattern(regexp = "1[3|5|7|9|8]\\d{9}",message = "手机格式不正确") private String userphone; @NotNull(message = "邮箱名不能为空") @Pattern(regexp = "^\\w+@\\w+\\.\\w+$",message = "邮箱格式不正确") private String email; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public Integer getUserage() { return userage; } public void setUserage(Integer userage) { this.userage = userage; } public Date getBrithday() { return brithday; } public void setBrithday(Date brithday) { this.brithday = brithday; } public String getUserphone() { return userphone; } public void setUserphone(String userphone) { this.userphone = userphone; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } }
message ,验证失败提醒
@Pattern 正则表达式的书写 @max @min 最大最小 @size 长度
spring的配置文件进行 生成器验证器
<bean id="jk" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"> <property name="providerClass" value="org.hibernate.validator.HibernateValidator"></property> </bean> <mvc:annotation-driven validator="jk"/>
现在进行 验证的书写
@RequestMapping("/register") public String valid(@Valid Userinfo userinfo, BindingResult br,Model model){ System.out.println("1111111111111"); if (br.getErrorCount()>0){ System.out.println("222222222"); FieldError userage = br.getFieldError("userage"); FieldError username = br.getFieldError("username"); FieldError userphone = br.getFieldError("userphone"); FieldError brithday = br.getFieldError("brithday"); FieldError email = br.getFieldError("email"); if(userage!=null){ String defaultMessage = userage.getDefaultMessage(); model.addAttribute("userage",defaultMessage); } if(username!=null){ String defaultMessage = username.getDefaultMessage(); model.addAttribute("username",defaultMessage); } if(userphone!=null){ String defaultMessage = userphone.getDefaultMessage(); model.addAttribute("userphone",defaultMessage); } if(brithday!=null){ String defaultMessage = brithday.getDefaultMessage(); model.addAttribute("brithday",defaultMessage); } if(email!=null){ String defaultMessage = email.getDefaultMessage(); model.addAttribute("email",defaultMessage); } } return "ax"; }
这就是全部,自己试一下 , 不懂评论,会回复的