jsr303常用注解
注解 |
功能 |
@Null |
对象必须为null |
@NotNull |
对象必须不为null,无法检查长度为0的字符串 |
@NotBlank |
字符串必须不为Null,且去掉前后空格长度必须大于0 |
@AssertTrue |
对象必须为true |
@AssertFalse |
对象必须为false |
@Max(Value) |
必须为数字,且小于或等于Value |
@Min(Value) |
必须为数字,且大于或等于Value |
@DecimalMax(Value) |
必须为数字( BigDecimal ),且小于或等于Value。小数存在精度 |
@DecimalMin(Value) |
必须为数字( BigDecimal ),且大于或等于Value。小数存在精度 |
@Digits(integer,fraction) |
必须为数字( BigDecimal ),integer整数精度,fraction小数精度 |
@Size(min,max) |
对象(Array、Collection、Map、String)长度必须在给定范围 |
@Email |
字符串必须是合法邮件地址 |
@Past |
Date和Calendar对象必须在当前时间之前 |
@Future |
Date和Calendar对象必须在当前时间之后 |
@Pattern(regexp=“正则”) |
String对象必须符合正则表达式 |
一、需要引入的依赖
//2.3以上的版本还需手动引入下面这个依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
二、多以多个校验分组用于前端数据校验
package com.zs.bean;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.validation.annotation.Validated;
import javax.validation.constraints.*;
import java.io.Serializable;
/**
* @ClassName User
* @Author zs
* @Create 2020-10-25 0:28
* @Version 1.0
* @todo: 执行的操作
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User implements Serializable {
private static final long serialVersionUID = -2462724700278494398L;
//定义的两个接口分组
public interface UserInsertCheck {};
public interface UserUpdateCheck {};
//指定分组校验该参数
@NotBlank(groups = {UserInsertCheck.class},message = "id不能为空!")
private String id;
//两个分组同时校验该参数
@NotBlank(groups = {UserInse