@Valid注解 基本使用方法

@Valid 基本使用方法

1.判断方法

`@Null 限制只能为null

@NotNull 限制必须不为null

@AssertFalse 限制必须为false

@AssertTrue 限制必须为true

@DecimalMax(value) 限制必须为一个不大于指定值的数字

@DecimalMin(value) 限制必须为一个不小于指定值的数字

@Digits(integer,fraction) 限制必须为一个小数,且整数部分的位数不能超过integer,小数部分的位数不能超过fraction

@Future 限制必须是一个将来的日期

@Max(value) 限制必须为一个不大于指定值的数字

@Min(value) 限制必须为一个不小于指定值的数字

@Past 限制必须是一个过去的日期

@Pattern(value) 限制必须符合指定的正则表达式

@Size(max,min) 限制字符长度必须在min到max之间

@Past 验证注解的元素值(日期类型)比当前时间早

@NotEmpty 验证注解的元素值不为null且不为空(字符串长度不为0、集合大小不为0)

@NotBlank 验证注解的元素值不为空(不为null、去除首位空格后长度为0),不同于@NotEmpty,@NotBlank只应用于字符串且在比较时会去除字符串的空格

@Email 验证注解的元素值是Email,也可以通过正则表达式和flag指定自定义的email`

2.配合代码

// 首先在类中定义判定规则
@ApiModel(value = "认证登录表单", description = "用户登录时需要提交的表单信息")
public class AuthRequestBody implements Serializable {
    @NotBlank(message = "用户名不能为空")
    @ApiModelProperty(value="用户名",name="username",example="ghadmin")
    private String username;
    @NotBlank(message = "密码不能为空")
    @ApiModelProperty(value="密码",name="password",example="123")
    private String password;
    }

// 其次,在接口参数中使用@Valid 进行判断  
  public AuthResult getToken(
            @Valid
            @ApiParam(value = "用户登录需提交的数据(JSON)", required = true)
            @RequestBody AuthRequestBody authRequestBody,
            BindingResult bindingResult
            ){
               //验证是否有错,如果有错就输出错误信息
    if(bindingResult.hasErrors()){
        System.out.println(bindingResult.getFieldError().getDefaultMessage());
        return null;
   
            。。。此处省略
            }





基本数据类型和string类型,不能使用@notempty 会报错
基本类型用@notnull
string 用@notblank

猜你喜欢

转载自blog.csdn.net/qq_33799320/article/details/83303393