springboot整合validate校验框架
1、实体类添加注解
@NotBlank(message = "name不可为空")
@Size(min=2, max=10)
private String name;
@NotBlank(message = "password不可为空")
@Size(min=2, max=20)
private String password;
2、Controller
@valid 与BindingResult联合使用
注:在addUser()入参添加User是因为校验失败后再次跳转到userForm页面时避免页面报错。
@RequestMapping("/addUser")
public String addUser(User user){
return "/user/userForm";
}
@RequestMapping("/userForm")
public String userForm(**@Valid** User user , BindingResult result){
if(result.hasErrors()){
System.out.println(result.toString());
return "/user/userForm";
}
userService.addUser(user);
return "/user/userList";
}
3、前端
<%@taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<form:form modelAttribute="user" action="/userForm" method="post">
<p>
<form:input path="name" size="30"/>
<form:errors path="name" cssClass="error" cssStyle="color:red"></form:errors>
</p>
<p>
<form:input path="password" size="30"/>
<form:errors path="password" cssClass="error" cssStyle="color:red"></form:errors>
</p>
<p>
<input type="submit" value="validate"/>
</p>
</form:form>