![](/img/trans.png)
[英]How to apply custom validation on a field using javax validation only if it is not null?
[英]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.