gpt4 book ai didi

java - 在 javax 库中使用 Float 字段时如何使用 @Size 验证?

转载 作者:行者123 更新时间:2023-12-01 22:54:12 24 4
gpt4 key购买 nike

我正在尝试使用带有 javax 验证的 Float 数据类型的最大大小验证。这是示例

@NotNull
@Size(min = 5, max = 10)
public Float getPhone(){

}

但我收到错误,无法对 Float 数据类型使用大小验证。有什么想法吗?

最佳答案

@Size 不适用于 Float 类型。引用约束的javadoc:

/**
* The annotated element size must be between the specified boundaries (included).
* <p/>
* Supported types are:
* <ul>
* <li>{@code CharSequence} (length of character sequence is evaluated)</li>
* <li>{@code Collection} (collection size is evaluated)</li>
* <li>{@code Map} (map size is evaluated)</li>
* <li>Array (array length is evaluated)</li>
* </ul>
* <p/>
* {@code null} elements are considered valid.
*
*/

所以这个约束实际上与字符串或集合的大小有关。您可以为 float 编写自己的 validator 并通过 xml 注册 - 请参阅 http://beanvalidation.org/1.1/spec/#xml-mapping-constraintdefinition

但是,我建议不要这样做,因为在您想要使用它的上下文中谈论“大小”是没有意义的。

您可以使用@Min@Max,但由于舍入问题,并非所有提供程序都支持 float 据类型。

看看你的例子,你似乎想存储一个电话号码。为什么一开始你会选择 float 呢?

关于java - 在 javax 库中使用 Float 字段时如何使用 @Size 验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24344086/

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