4. 分组验证
Bean Validation 支持分组验证,这允许您根据不同的业务场景来定义不同的验证规则。
-
@Validated(group) : 用于控制器方法参数,指定一组验证规则。
-
@GroupSequence(groups) : 指定验证的顺序。
4.1.定义分组
下面是一个使用分组验证的示例:
import jakarta.validation.groups.Default;
public interface UserGroups {
interface Registration extends Default {
}
interface Login extends Default {
}
}
4.2.设置验证规则
import com.yuan.springvalidationdemo.valid.UserGroups;
import jakarta.validation.GroupSequence;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
@GroupSequence({
UserGroups.Registration.class, UserGroups.Login.class})
public class User2 {
@NotBlank(groups = UserGroups.Registration.class, message = "用户名在注册时不能为空")
@Size(min = 5, max = 20, groups = {
UserGroups.Registration.class, UserGroups.Login.class}, message = "用户名长度应在5到20个字符之间")
private String username;
@NotBlank(groups = UserGroups.Registration.class, message = "密码在注册时不能为空")
@Size(min = 8, max