SSM+Validator实现参数认证
1,导入Maven依赖
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.0.13.Final</version>
</dependency>
<!--validation api-->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>2.0.1.Final</version>
</dependency>
2,在需要校验参数的实体类上进行标注
public class User {
@NotNull(message="用户名不能为空!")
@Size(min=2,max=18,message="用户名的长度错误,请填写2-18位")
private String userName;
@NotNull(message="密码不能为空!")
@Size(min=6,max=18,message="密码的长度错误,请填写6-18位")
private String userPassWord;
}
3,在控制器中进行校验
使用注解@Valid
@RequestMapping("test")
@ResponseBody
public Result test(@Valid @RequestBody User user, BindingResult bindingResult,) throws Exception {
if (bindingResult.hasErrors()) {
//如果有参数不符合规则
List<FieldError> list = bindingResult.getFieldErrors();
for (ObjectError objectError : list) {
//具体的信息
objectError.getDefaultMessage();
}
}
}
更多的注解请查询官方文档