使用方式
1. 添加依赖
从 Spring 3.0 开 始,在 Spring MVC 中提供了对 Java 校验 API 的支持。在 Spring MVC 中要使用 Java 校验 API 的话,并不需要什么额外的配置。只要保证在类路径下包含这个 Java API 的实现即可,比如 Hibernate Validator。
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.2.5.Final</version>
</dependency>
2. 待校验的实体类
将限制条件的注解添加到类上,如下所示:
public class PageBounds {
@Min(value=1, message = "页码必须大于等于1")
private int page;
@Min(value=5, message = "页面大小必须大于等于5")
private int count;
}
3. 修改控制器中的方法
修改控制器中的方法,添加 @Valid 注解和 Errors 参数:
@GetMapping("form")
public String form(
@Valid PageBounds pageBounds,
Errors errors) {
if (errors.hasErrors())
return "error";
return pageBounds.getPage() + " : " + pageBounds.getCount();
}
如果有校验出现错误的话,那么这些错误可以通过 Errors 对象进行访问。Errors 参数要紧跟在带有 @Valid 注解的参数后面,@Valid 注解所标注的就是要检验的参数。
@Test
public void formError() throws Exception {
mockMvc.perform(
MockMvcRequestBuilders.get("/form")
.queryParam("page", "1")
.queryParam("count", "0")
).andExpect(MockMvcResultMatchers.content().string("error"));
}
Last updated