Spring MVC自己沒有數據校驗的功能,它使用Hibernate的校驗框架來完成。app
<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>5.4.1.Final</version> </dependency>
public class Person { @Size(min=1,max=20,message = "{item.name.size}") private String username; private int age; @NotNull(message = "{item.birthday.notnull}") private Date birthday; //省略get/set方法 }
@RequestMapping(value = "/validate",method = RequestMethod.POST) public String validate(@Validated Person person, BindingResult result,Map<String,Object> maps){ //bindResult做爲驗證失敗的信息,必須和@Validate成對出現 if(result.hasErrors()){ List<ObjectError> allErrors = result.getAllErrors(); for (ObjectError error:allErrors) { System.out.println(error.getDefaultMessage()); } maps.put("error",allErrors); return "error"; } return "hello"; }