jsr 条件关联校验,依赖某个属性值的校验,除了分组和分组序列,还可以这样使用 @Condition 注解校验

原创
2023/04/26 08:57
阅读数 75

代码示例: 如下代码将校验 type 非空,或者 type 为空时,同时要求 photo/text 也为空:

@Data
public class User {
    @Condition(value = "type != null or type == null and photo == null and text == null", message = "类型空时,图片/文本需同时为空")
    private Integer type;

    private String photo;

    private String text;
}

如下代码将校验,当 type = 1时,图片非空,当 type = 2 时,文本非空:

@Data
public class User {
    @Condition(when = "type == 1", then = "photo != null", message = "类型为1时,图片不能为空")
    @Condition(when = "type == 2", then = "text != null", message = "类型为2时,文本不能为空")
    private Integer type;

    private String photo;

    private String text;
}

其中,value 是全限定条件表达式,优先级最高,当 value 不为空时,忽略 when/then

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部