javax.validation.NotBlank缺少验证器

我要求在通用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系列中不存在。

以上是 javax.validation.NotBlank缺少验证器 的全部内容, 来源链接: utcz.com/qa/435565.html

回到顶部