dar*_*esm 7 java spring hibernate hibernate-validator bean-validation
我要求在常见的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'
Run Code Online (Sandbox Code Playgroud)
通过调用调用验证
Validation.buildDefaultValidatorFactory().validateValue(beanType, propertyName, value)
Run Code Online (Sandbox Code Playgroud)
相同的代码与hibernate的NotBlank完美配合
来自javax的@Size @NotNull工作正常.
是否可以向DefaultValidatorFactory提供NotBlank验证器实现?
我错过了一些依赖吗?(我已经有了hibernate-validator)
来自javax的NotBlank和来自hibernate的NotBlank一样(我的意思是它验证字符串吗?)
怎么解决这个?
小智 8
问题出在你正在使用的版本中.您需要更新到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>
Run Code Online (Sandbox Code Playgroud)
它javax.validation.constraints.NotBlank是Bean Validation 2.0的一部分,它的验证器在5.3系列中不存在.
| 归档时间: |
|
| 查看次数: |
4283 次 |
| 最近记录: |