简体   繁体   English

Spring-如何验证DTO / POJO中byte []中元素的最小/最大值?

[英]Spring - How to validate min/max value of elements in byte[] in DTO/POJO?

I was trying to find it but I can't. 我试图找到它,但是找不到。 I have my DTO where I am validating the data sent by user. 我有我的DTO,用于验证用户发送的数据。

    import javax.validation.constraints.Max;
    import javax.validation.constraints.Min;

    @Min(value = 0)
    @Max( value = 6)
    private byte[] days;

It is throwing an error: 它抛出一个错误:

No validator could be found for constraint 'javax.validation.constraints.Min' validating type 'short[]'. 找不到约束'javax.validation.constraints.Min'验证类型'short []'的验证器。 Check configuration for 'days'. 检查“天”的配置。

What is wrong with that? 怎么了

You are using wrong contraints, Min and Max validates actual value, but you have an array. 您使用了错误的约束,最小值和最大值会验证实际值,但是您有一个数组。 For validation of array length, use 为了验证数组长度,请使用

@Size(min=0, max=6)
private byte[] days;

http://docs.oracle.com/javaee/6/api/javax/validation/constraints/Size.html http://docs.oracle.com/javaee/6/api/javax/validation/constraints/Size.html

If you want to check if EVERY element of array has value between 0 - 6, you probably have to create your own validator 如果要检查数组的每个元素的值是否都在0到6之间,则可能必须创建自己的验证器

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

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