JSR 303非空校验

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就是页面,有用户名、密码的一个文本框

猜你喜欢

转载自blog.csdn.net/qq_41767337/article/details/89642196