当前位置: 首页 > 面试题库 >

javax.validation.NotBlank缺少验证器

卞云瀚
2023-03-14
问题内容

我要求在通用api模块(多模块项目)中,我不能使用任何形式的hibernate的验证注释,因此我确实使用了javax.validation中的一个可接受的注释。

当我要验证包含NotBlank批注的域对象(我使用vaadin)时,问题就开始了。我得到以下异常

javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint 'javax.validation.constraints.NotBlank' validating type 'java.lang.String'. Check configuration for 'name'

验证通过调用进行

Validation.buildDefaultValidatorFactory().validateValue(beanType, propertyName, value)

相同的代码与hibernate的NotBlank完美配合

javax的@Size @NotNull也可以正常工作。

是否可以向DefaultValidatorFactory提供NotBlank验证程序实现?

我缺少一些依赖吗?(我已经有hibernate验证器)

javax的NotBlank是否与hibernate的NotBlank相同(我是说它会验证字符串吗?)

如何解决呢?


问题答案:

问题出在您当时使用的版本中。您需要更新到6.0.x系列。目前最新的是6.0.9。注意,groupId更改为org.hibernate.validator。

<dependency>
    <groupId>org.hibernate.validator</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>6.0.9.Final</version>
</dependency>

javax.validation.constraints.NotBlank是Bean Validation
2.0的
一部分,而它的验证器在5.3系列中不存在。



 类似资料:
  • 问题内容: 我使用Spring 4.3.3.RELEASE,Hibernate 5.2.2.Final,数据库是MySQL。我想尝试一下 strategy = GenerationType.TABLE 。正如我对 GenerationType.SEQUENCE 所知, 我需要数据库中的序列来生成ID。 这是我的实体。 Spring注解配置 Spring xml配置 当我运行我的应用程序时,我得到

  • 我得到了以下错误无法构建Hibernate SessionFactory;嵌套异常是org.hibernate.tool.schema.spi.模式管理异常:模式验证:缺少表[my.table] 这有版本问题吗?大多数示例都不使用模式,即使是官方的?https://github.com/spring-projects/spring-boot/tree/main/spring-boot-tests/

  • 问题内容: 我重置了本地flask环境,但是没有通过捕获它的依赖项,pip freeze然后再将其删除。因此,我不得不重新安装整个堆栈的最新版本。 现在,我突然无法使用表单进行验证了。Flask声称CSRF将丢失。 第一次发送Get邮件时,我按预期检索了一个空邮件。现在,我填写表格并提交并form.errors显示: 真奇怪 我想知道Flask-WTF是否已更改,并且使用错误。 我可以清楚地看到存

  • 当我将令牌粘贴到这个网站上的JWT调试器中时:https://JWT.io/,我得到了一些信息(stable_sid,sid,sub,idp,ver,iss,aud,exp,nbf),但我似乎无法得到其中的组声明。 我在Azured AD中添加了读取Microsoft graph和Azure active directory组所需的权限,但它没有改变令牌中的任何内容。 我缺少什么来获取用户组?

  • 问题内容: 我有下一个代码,随便抛出: 反应/道具类型onClickOut; 道具验证中缺少 反应/道具型儿童;道具验证中缺少 已定义,但eslint无法识别。 package.json .babelrc .eslintrc 问题答案: 问题出在handleClick中的流注释中,我删除了它,并且工作正常,谢谢@alik