编程语言
首页 > 编程语言> > Java数据校验:JSR-303

Java数据校验:JSR-303

作者:互联网

1.简介

JSR是Java Specification Requests的缩写,意思是Java 规范提案

JSR-303 是JAVA EE 6 中的一项子规范,叫做Bean Validation

即,JSR 303,Bean Validation规范 ,为Bean验证定义了元数据模型和API.。默认的元数据模型是通过Annotations来描述的,但是也可以使用XML来重载或者扩展。

2.常用校验注解

分类:Bean Validation 中内置的 constraint

Constraint详细信息
@Null被注释的元素必须为 null
@NotNull被注释的元素必须不为 null
@AssertTrue被注释的元素必须为 true
@AssertFalse被注释的元素必须为 false
@Min(value)被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@Max(value)被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@DecimalMin(value)被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@DecimalMax(value)被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@Size(max, min)被注释的元素的大小必须在指定的范围内
@Digits (integer, fraction)被注释的元素必须是一个数字,其值必须在可接受的范围内
@Past被注释的元素必须是一个过去的日期
@Futuret被注释的元素必须是一个将来的日期
@Pattern(value)被注释的元素必须符合指定的正则表达式

分类:Hibernate Validator 附加的 constraint

Constraint详细信息
@Email被注释的元素必须是电子邮箱地址
@Length被注释的字符串的大小必须在指定的范围内
@NotEmpty被注释的字符串的必须非空
@Range被注释的元素必须在合适的范围内

3. 使用步骤

3.1 pom坐标

注意:上面的坐标是规则,下面的坐标是实现,如果只有规则没有实现,则校验规则不会生效

 		<dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>2.0.1.Final</version>
        </dependency>
          <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>5.2.0.Final</version>
        </dependency>

3.2 在需要校验的实体类上加上 @Valid 注解

在这里插入图片描述

3.3 按照需求进行自定义校验规则

public class User {

  private long id;

  @NotNull//非空
  @Email(message = "必须是邮箱地址类型")//必须是邮箱地址类型
  private String name;

  @Pattern(regexp = "^[A-Z]$/",message = "首字母必须是A-Z")//使用正则表达式自定义校验规则,首字母必须是A-Z
  private String city;

  @NotEmpty
  private String sex;

}

3.4 测试

在这里插入图片描述
在这里插入图片描述

3.5 获取错误提示信息

在方法中加上BindingResult类型参数,改参数自行封装了错误信息
在这里插入图片描述

标签:303,Java,JSR,元素,校验,value,注释,必须,其值
来源: https://blog.csdn.net/xueguchen/article/details/111406671