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";
}
这就是全部,自己试一下 , 不懂评论,会回复的
浙公网安备 33010602011771号