如何解决原始布尔值的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个可能的值,而且没有一个表示缺少值。
如果要使用状态为true
,false
和missing
的三态值,则必须使用Boolean
。
或者您可以将enum
与3个值一起使用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。