繁体   English   中英

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

[英]How to use @Size validation while using Float field with javax library?

我正在尝试将最大尺寸验证与带有Javax验证的Float数据类型一起使用。 这是例子

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

}

但是我收到了一个错误,我不能将大小验证与Float数据类型一起使用。 有任何想法吗?

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

/**
 * 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验证器并通过xml注册-请参见http://beanvalidation.org/1.1/spec/#xml-mapping-constraintdefinition

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

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

看您的示例,您似乎想存储一个电话号码。 为什么您会为此选择一个浮动呢?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM