我如何注入 ConstraintValidator?
How do i inject ConstrainValidator?
假设我有一个注释 A
@Target({TYPE})
@Retention(RUNTIME)
@Documented
@Constraint(validatedBy = {Validator.class})
public @interface A {
String value() default "";
String message() default "{javax.validation.constraints.form.customization.message}";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
有一个 Constraint Validator,它 不是 ConstraintValidator 的一个实现,而是一个扩展一个
public interface Validator extends ConstraintValidator<A, Entity> {
}
然后是验证器的一些实现。有什么方法可以让它与 Spring、依赖注入和所有这些好东西一起工作吗?谢谢
Okkkkkkkkkkkkk,这实际上是可能的。
原来这个问题是 another one 的副本。唯一的问题是它现在还行不通。这是您必须添加到配置中的最后一段代码。
@Bean
Validator validatorFactory() {
ValidatorFactory validatorFactory = Validation.byDefaultProvider()
.configure()
.constraintValidatorFactory(new SpringConstraintValidatorFactoryEx())
.buildValidatorFactory();
return validatorFactory.getValidator();
}
它来自 Hibernate documentation 以防有人疑惑
假设我有一个注释 A
@Target({TYPE})
@Retention(RUNTIME)
@Documented
@Constraint(validatedBy = {Validator.class})
public @interface A {
String value() default "";
String message() default "{javax.validation.constraints.form.customization.message}";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
有一个 Constraint Validator,它 不是 ConstraintValidator 的一个实现,而是一个扩展一个
public interface Validator extends ConstraintValidator<A, Entity> {
}
然后是验证器的一些实现。有什么方法可以让它与 Spring、依赖注入和所有这些好东西一起工作吗?谢谢
Okkkkkkkkkkkkk,这实际上是可能的。
原来这个问题是 another one 的副本。唯一的问题是它现在还行不通。这是您必须添加到配置中的最后一段代码。
@Bean
Validator validatorFactory() {
ValidatorFactory validatorFactory = Validation.byDefaultProvider()
.configure()
.constraintValidatorFactory(new SpringConstraintValidatorFactoryEx())
.buildValidatorFactory();
return validatorFactory.getValidator();
}
它来自 Hibernate documentation 以防有人疑惑