java 校验框架 - Bean Validation 级联校验

目录

什么是级联校验:

简单理解就是对于一个校验类中还存在其他校验。以Order 类为例,如果它的内部还有一个 Bean, 且该 Bean 不能未空,或者它内部的属性也需要被校验,这就是一种级联校验。

级联校验主要通过 @Valid来实现的。

上代码

Order class

java 复制代码
public class Order {
    @Valid // 级联校验
    @NotNull(message = "地址不能为空") // 不是必须,建议写
    private Address address;
}

Address class

java 复制代码
public class Address {
    @NotBlank(message = "地址城市信息不能空a")
    private String city;
}

如上代码,Address 是一个独立的 Bean,而它作为 Order 的一个属性出现。当我们对 Order 进行操作时,需要对属性 Address 做校验。校验的写法根据实际业务场景来调整即可。校验方式与以往没有不同。

参考:

  1. java 校验框架 - Bean Validation
  2. java 校验框架 - Bean Validation 分组校验
相关推荐
凤凰院凶涛QAQ14 小时前
《Java版数据结构 & 集合类剖析》Map & Set & 反射:“从哈希碰撞到红黑树转换,反射帮你扒开 HashMap 的桶数组看个究竟”
java·数据结构·算法
H.莓飛15 小时前
【数据结构】排序_OJ题(一):计数、桶与排序后的处理
java·开发语言·数据结构
wangchunyu11415 小时前
JAVA AQS与Lock实现原理(含CAS)
java·开发语言·word
爱喝水的鱼丶16 小时前
SAP-ABAP:ECC→S/4HANA ABAP 迁移升级指南——程序改造、语法兼容与性能优化 导语
运维·开发语言·性能优化·sap·abap·经验交流·开发交流
w_zero_one16 小时前
算法--模拟
java·数据结构·算法
小灰灰搞电子16 小时前
Rust+Slint 实现FTP客户端调试助手源码分享
开发语言·后端·rust
外收内放17 小时前
面向对象高级(实战案例)
开发语言·python·学习
Javatutouhouduan17 小时前
阿里1658页Java面试题总结(含答案)
java·高并发·java面试·java面试题·后端开发·java程序员·java八股文
秋天的怀念_David17 小时前
算法一千零一夜 · 第十三夜 幻方,武侠世界里的数学迷宫
java·程序人生·算法
专业程序开发源17 小时前
springboot欧缇蔓月子中心管理系统82697-计算机课程设计、毕业设计
java·spring boot·后端·python·spring·django·课程设计