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 分组校验
相关推荐
小罗和阿泽40 分钟前
接口测试系列 接口自动化测试 pytest框架(三)
开发语言·python·pytest
guestsun2 小时前
SpringBoot七大事务失效场景分析
java·spring boot·mybatis
毕设源码-邱学长7 小时前
【开题答辩全过程】以 基于Java的学校住宿管理系统的设计与实现为例,包含答辩的问题和答案
java·开发语言
rookieﻬ°8 小时前
PHP框架漏洞
开发语言·php
炸膛坦客9 小时前
单片机/C/C++八股:(二十)指针常量和常量指针
c语言·开发语言·c++
兑生9 小时前
【灵神题单·贪心】1481. 不同整数的最少数目 | 频率排序贪心 | Java
java·开发语言
daidaidaiyu9 小时前
一文学习 Spring 声明式事务源码全流程总结
java·spring
炸膛坦客10 小时前
单片机/C/C++八股:(十九)栈和堆的区别?
c语言·开发语言·c++
零雲10 小时前
java面试:了解抽象类与接口么?讲一讲它们的区别
java·开发语言·面试
Jay_Franklin10 小时前
Quarto与Python集成使用
开发语言·python·markdown