客户端验证最小值为1的非强制整数字段

时间:2019-07-06 11:36:42

标签: java spring-boot hibernate-validator

我想对Dto中的整数字段进行客户端验证,使其成为非强制性的,并将其最小值设置为1

我尝试了@Min注释,但是不能保证默认的0值,这会使有效性字段为null时验证失败

@Min(value=1)
private int validity;

我知道解决方法是执行验证服务器端,但我想执行验证客户端本身。

1 个答案:

答案 0 :(得分:0)

我找到了满足我要求的解决方案。如果我将Int替换为String,则可以将null作为有效参数。

@Min(value=1)
private String validity;

上面的代码带来了一些关于在存储值时使用解析字符串将数据进行整型的验证

if(isValidDtoString(validity))
    int validity = Integer.parseInt(validity);
public static boolean isValidDtoString(String s) {
    if (s == null || s.trim().length() == 0)
        return false;
    return true;
}