gpt4 book ai didi

java - Hibernate Validator - @Length - 如何为最小值和最大值指定单独的消息?

转载 作者:IT老高 更新时间:2023-10-28 21:03:48 27 4
gpt4 key购买 nike

我在我的网络应用程序中使用 Hibernate validator 进行表单验证。我正在为我的 String 属性使用@Length 注释,如下所示:

@Length(min = 5, message = "The field must be at least 5 characters")
private String myString;

但是,如果字符串超过 50 个字符,我需要显示不同的消息。有没有办法使用开箱即用的@Length validator 来做到这一点?我想做的一个例子(编译器不会让我这样做)如下:

@Length(min = 5, message = "The field must be at least 5 characters")
@Length(max = 50, message = "The field must be less than 50 characters")
private String myString;

我尝试过@Max 和@Min,但它们并没有按照我的意愿行事。任何意见将不胜感激!

最佳答案

您可以使用内部list annotation 在一个元素上指定多个@Length 约束。 (在 Bean Validation/Hibernate Validator 中为每个约束类型定义)如下:

@List({
@Length(min = 5, message = "The field must be at least 5 characters"),
@Length(max = 50, message = "The field must be less than 50 characters")
})
private String myString;

顺便说一句。我建议更喜欢 @Size出于可移植性原因,由 Bean Validation API 在 @Length 上定义。

关于java - Hibernate Validator - @Length - 如何为最小值和最大值指定单独的消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7084706/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com