微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

原始布尔值的javax.validation.constraints吗?

如何解决原始布尔值的javax.validation.constraints吗?

关于javax.validation.constraints的小问题以及如何验证原始布尔值(非布尔值)

当前,我正在使用@Min(1),@ Size(min = 1,max = 10),@ NotBlank等来验证我的原始int和String对象。它做得很好,很高兴。

请问如何验证原始布尔值? 意思是,我有一个布尔值,我想成为JSON请求中的必须输入。

我了解如果我使用布尔值,可以将其与某种@NotNull验证结合使用。请问如何用原始布尔值做同样的事情?

我希望客户必须输入此字段。并且该字段的值必须为true或false。

如果该字段不存在,我不想将其认设置为false或true。

这是一个有效的示例

{
    "field": false
}

此处,该字段中有一个错字,因此该字段不存在,因此无效。

{
    "fielddwdw": false
}

此处,该字段的值为字符串“ true”,因此无效。

{
    "field": "true"
}

此处,该值既不是true也不是false,无效

{
    "field": foo
}

我希望有种

    @MagicalBooleanValidationAnnoation
    private boolean field;

但是只是想实现这个用例。

谢谢

解决方法

对于原始 Boolean,您不能与带有@NotNull注释的boolean相同,因为原始 boolean只有2个可能的值,而且没有一个表示缺少值。

如果要使用状态为truefalsemissing的三态值,则必须使用Boolean

或者您可以将enum与3个值一起使用。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。