JSR 303 是 Java 为 Bean 数据合法性校验提供的标准框架
它已经包含在JavaEE 6.0 中 . JSR 303 通过在 Bean 属性上标注类似于 @NotNull、@Size 等标准的注解指定校验规则,并通过标准的验证接口对 Bean 进行验证 其他用法
用法
@NotEmpty 用在集合类上面 @NotBlank 用在String上面 @NotNull 用在基本类型上
第一步,添加依赖到要校验的类所在的pom文件里
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
在想要校验的类的属性上面加入@NotNull等注解
例:message是NotBlank的一个参数
import lombok.Data;
import org.hibernate.validator.constraints.NotBlank;
@Data
public class User {
@NotBlank(message="用户名不能为空")
private String userName;
@NotBlank(message="密码不能为空")
private String password;
}
在controller里面的方法入参前面加上@Valid,参数后面加上BindingResult
在方法里面通过bindingResult.hasErrors()判断是否有错误,如果有错误返
回当前页面
例
@RequestMapping("/register")
public ModelAndView register(@Valid User user,BindingResult bindingResult) {
ModelAndView modelAndView = new ModelAndView();
if(bindingResult.hasErrors()){
String message=bindingResult.getFieldError().getDefaultMessage();
System.out.println(message);
}
modelAndView.setViewName("/index");
return modelAndView;
}
/index就是页面,有用户名、密码的一个文本框