当前位置: 首页 > 知识库问答 >
问题:

如何在Spring boot中验证类型'java.lang.boolean'

司马越
2023-03-14

我有一个布尔字段,我想验证它只有“true”或“false”作为值(没有引号)。但是这个字段也允许“true”或“false”作为值(带引号),我想对其进行限制。

我尝试使用@Pattern注释来匹配这些值。但我有以下错误:

javax.validation.expectiontedTypeException:HV000030:找不到约束“javax.validation.Constraints.Pattern”验证类型“java.lang.Boolean”的验证器。检查配置“可重新启动”

@Pattern(regexp = "^(true|false)$", message = "restartable field allowed input: true or false")
private Boolean restartable;

共有1个答案

宇文德明
2023-03-14

如果目标是强制非空值和truthy值,则可以使用javax.validation中存在的@notnull@asserttrue@assertfalse断言。

https://docs.oracle.com/javaee/7/tutorial/bean-validation001.htm

@NotNull
@AssertTrue
private Boolean restartable;

如果值可以是true或false,则Not Null注释就足够了,因为Java中的布尔值只能有两个值。

 类似资料:
  • 在尝试使用JSR-303(hibernate Validator)验证模型时,我在将

  • 在无Reactor栈上,我是这样做的: 但是FilePart不提供相同的API(例如contentType)。 如何从获取contentType和文件大小?

  • 当尝试验证表单(获取请求)时,我知道Result绑定,当尝试验证请求正文时,我也知道@Valid,但我不知道如何验证multipartForm Request参数。当我将json转换为对象时,我有一个带有请求参数的多部分表单,其中包含我的User.class.的json字符串表示形式, 如何检查user类中的参数是否满足要求,例如(电子邮件中有'@'或名字没有数字值)? 这是我的代码,控制器: 这

  • 问题内容: 使用SQLAlchemy ORM,我要确保值是其列的正确类型。 例如,假设我有一个Integer列。我尝试插入值“ hello”,它不是有效的整数。SQLAlchemy将允许我执行此操作。仅在稍后执行时,它才会引发异常:。 我要添加成批的记录,出于性能原因,我不想在每笔记录之后提交。 那么我该如何: 我尽快提出例外 或者,在将我添加的值添加到批处理 之前 ,确保将其转换为目标Colum

  • 我从http://json-schema.org/draft-07/schema中注意到,它支持if then else语句根据值切换验证模式,但我不知道如何实现它们。

  • 这个问题已经被问了很多次了,即使是在经历了所有的解决方案之后,我也无法让hibernate validator工作。 控制器类:- servlet-上下文:- 依赖关系:- 验证类:- 我错过了什么?