I have a library that defines some annotations. This annotation can be added to my requests, I would like to glue that annotation to some custom Validator.
External lib
Annotation class
@Target(
AnnotationTarget.FUNCTION,
AnnotationTarget.PROPERTY_GETTER,
AnnotationTarget.PROPERTY_SETTER,
AnnotationTarget.FIELD
)
@Retention(AnnotationRetention.RUNTIME)
annotation class UniqueValue()
Request class
class PostReq(
@field:UniqueValue
val value: String
)
My app
@Component
class UniqueValueValidator() : ConstraintValidator<UniqueValue?, String?> {
override fun initialize(constraint: UniqueValue?) {}
override fun isValid(value: String?, context: ConstraintValidatorContext): Boolean {
println("validation magic")
return true
}
}
I cannot make spring to use my UniqueLoginValidator to validate fields annotated with UniqueValue in my request. Any ideas on how to glue them together? I cannot use @Constraint(validatedBy = [UniqueValueValidator::class]) since it's not available in external lib.