使用ConstraintValidator使用两种类型进行java自定义bean验证
我正在学习本教程https://www.baeldung.com/spring-mvc-custom-validator
我现在面临的情况是,我有两种不同的类型,一种是List<String>
,另一种是在另一个不同的类中,是Set<String>
我想用正则表达式检查其中字符串元素的有效性^[a-z0-9]+[-_]*[a-z0-9]*$
因此,不是有两个bean验证注释,而是一个带有List<String>
implements
ConstraintValidator<ContactNumberConstraint, List<String>>
另一个是Set<String>
implements
ConstraintValidator<ContactNumberConstraint, Set<String>>
有可能让一个类同时接受这两种类型吗?如果是的话,一段代码片段将对我非常有帮助
# 1 楼答案
由于
List
和Set
都是Collection
的,并且您不关心其实现的细节(您只想迭代元素并验证它们),所以可以简单地使用implements ConstraintValidator<ContactNumberConstraint, Collection<String>>