SpringBoot Hibernate Validation 数据校验-对象嵌套校验

说明

开发中,很可能 bean中的成员变量也是一个bean,在属性上加 @Valid,就可以校验该对象

例子

User 类中的有一个成员变量是 Job 类对象,那么该成员变量必须标记 @Valid 注解:

package top.malaoshi.netdisk.vo;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

public class User {
    @Valid
    private Job job;
    private long id;
    @NotNull(message = "登录名不能为空")
    @Size(min = 3, max = 16, message = "登录名长度必须在3-16之间")
    private String username;
    @NotNull(message = "密码不能为空")
    @Size(min = 5, max = 16, message = "密码长度必须在5-16之间")
    private String password;

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

原文出处:/show_1IX759ZJs3sl.html