当前位置: 首页 > 面试题库 >

Java Bean验证:如何指定相同类型但具有不同组的多个验证约束?

谷梁宁
2023-03-14
问题内容

我有多个进程,其中Bean属性必须具有不同的值。例:

@Min( value=0, groups=ProcessA.class )
@Min( value=20, groups=ProcessB.class )
private int temperature;

不幸的是,bean验证JSR
303尚未在javax.validation.constraints.Min上设置@Repeatable,因此该方法不起作用。我找到了“
Min.List”,但没有有关如何使用它的任何文档。相反,Oracle官方文档在http://docs.oracle.com/javaee/7/api/javax/validation/constraints/class-
use/Min.List.html中声明

不使用javax.validation.constraints.Min.List

因此,目前看来这是规范错误?!?


问题答案:

对于Min.List,以及其他将注释数组作为其属性之一的注释,其语法为

@Min.List({ @Min(value = 0, groups = ProcessA.class),
            @Min(value = 20, groups = ProcessB.class) })


 类似资料:
  • 问题内容: 我想验证以下行为的方法如下。 在我的@Test类中,我希望做这样的事情来验证是否使用“ exception.message”和再次使用“ exception.detail”进行了调用 但是Mockito抱怨​​如下 我如何告诉Mockito检查两个值? 问题答案: 进一步的阅读使我尝试使用ArgumentCaptors和以下作品,尽管比我想要的更为冗长。

  • 我有以下场景:我正在尝试处理一个表单,模型属性是一个具有String和Long属性的bean。众所周知,bean验证提供了很多注释来帮助我们确定数据的有效性。我面临的是,对于Long属性的情况,我只能使用@NotNull和另一个注释(我不记得它的名字)来强制用户输入正数。如果用户输入例如“sdf”,应用程序会抛出一个BIG异常。所以我想知道的是,如果用户在爆炸前输入了一个数字(因为我不能使用@Pa

  • 我正在尝试使用<code>Hibernate Validator</code>验证请求对象。 作为一个简单的例子,假设我要验证的对象的类有一个<code>B bObj</code>字段,其中<code>B 因此,我实现了自己的自定义,它链接到自定义类。 DTO类 我的endpoint方法签名(其中调用验证器,并设置活动组): 我的验证器类 我想要实现的是基于活动组对同一字段应用不同的验证。活动组是

  • 我试图比较两个大的JavaScript对象,每个对象大约有200个键,键是无序的,每个JavaScript对象的值都不同,但我只关心键,如果它们都有相同的键集,那么即使它们的顺序不同,函数也会返回true 我尝试了下面的代码但没有工作 例子:

  • 我需要一个用户管理服务为我的Spring启动项目。我一般了解DTO(数据传输对象)在Spring的使用。但是当我考虑设计服务时,我只对一个“用户”模型使用多个DTO,如UserDTO、注册用户DTO、更新用户DTO、管理用户DTO...UserDTO就像一个只读数据(带有用户名、电子邮件、姓名的输出数据),用于显示用户信息。但是注册用户DTO就像一个输入数据(带密码,确认密码为新用户创建密码),用

  • 我是一个新手,我正在使用java bean验证。 我有一个java bean类,如下所示,带有null和size约束。 我的主要课程如下 当我传递长度小于4的名称时,这将引发错误。但是对于我传递的所有值,这个类都成功地执行了。让我知道我错过了什么。 提前谢谢。