Springboot开发参数校验@Valid和@Validated

@Valid和 @Validated的区别 @Valid:没有分组的功能。 @Valid:可以用在方法、构造函数、方法参数和成员属性(字段)上 @Validated:提供了一个分组功能,可以在入参验证时,根据不同的分组采用不同的验证机制 @Validated:可以用在类型、方法和方法参数上。但是不能用在成员属性(字段)上 两者是否能用于成员属性(字段)上直接影响能否提供嵌套验证的功能

在类中的常用参数校验

public interface Group1 {
          
   
}
public interface Group2 {
          
   
}
@Data
public class User2Dto {
          
   
    /**
     * 用户名
     */
    @NotBlank(message = "用户名不能为空!", groups = {
          
   Group1.class})
    private String username;
    /**
     * 性别
     */
    @NotBlank(message = "性别不能为空!")
    private String gender;
    /**
     * 年龄
     */
    @Min(value = 1, message = "年龄有误!", groups = {
          
   Group1.class})
    @Max(value = 120, message = "年龄有误!", groups = {
          
   Group2.class})
    private int age;
    /**
     * 地址
     */
    @NotBlank(message = "地址不能为空!")
    private String address;
    /**
     * 邮箱
     */
    @Email(message = "邮箱有误!", groups = {
          
   Group2.class})
    private String email;
    /**
     * 手机号码
     */
    @Pattern(regexp = "^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$",message = "手机号码有误!", groups = {
          
   Group2.class})
    private String mobile;
}
经验分享 程序员 微信小程序 职场和发展