1、这些注解用于java的实体类属性字段上,在进行请求或请求的时候会根 据字段的注解进行对应的校验,简化校验相关的代码。
2、在前端请求解析到 controller 的时候,可使用 @valid 注解,开启校验,当校验不同过时,会返回对应的message描述。
//被注释的元素必须为null @Null(message = "元素不能为空!") //被注释的元素不能为null @NotNull //被注释的元素必须为true @AssertTrue //被注释的元素必须为false @AssertFalse //被注释的元素必须是一个数字,其值必须大于等于指定的最小值 @Min(value) //被注释的元素必须是一个数字,其值必须小于等于指定的最大值 @Max(value) //被注释的元素必须是一个数字,其值必须大于等于指定的最小值 @DecimalMin(value) //被注释的元素必须是一个数字,其值必须小于等于指定的最大值 @DecimalMax(value) //被注释的元素的大小必须在指定的范围内。 @Size(max,min) //被注释的元素必须是一个数字,其值必须在可接受的范围内 @Digits(integer,fraction) //被注释的元素必须是一个过去的日期 @Past //被注释的元素必须是一个将来的日期 @Future //被注释的元素必须符合指定的正则表达式。 @Pattern(value) //被注释的元素必须是电子邮件地址 @Email //被注释的字符串的大小必须在指定的范围内 @Length //被注释的字符串必须非空 @NotEmpty //被注释的元素必须在合适的范围内 @Range
3、例子:
package com.commons.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
@ApiModel(value = "电影用户信息表")
public class MovieUserInfo implements Serializable {
@ApiModelProperty("用户id")
@NotNull(message = "用户id不能为空!")
private Long userId;
@ApiModelProperty("用户名")
@NotNull(message = "用户名不能为空!")
private String userName;
@ApiModelProperty("用户登陆密码")
@NotNull(message = "用户密码不能为空!")
private String userPassword;
}
//使用@Valild验证
@PostMapping("/movieUserRegister")
public ResponseResult movieUserRegister(@Valid MovieUserInfo movieUserInfo){
movieUsersServices.movieUserRegister(movieUserInfo);
return null;
}



