来自单个验证器的集合验证
Collection validation from single validator
假设我有一个 class:
class Foo{
@SomeCustomStringValidator
String bar;
}
然后我想要
class Foo{
List<String> bars;
}
有没有办法以某种方式使用 @SomeCustomStringValidator 应用于 bars
集合?
我会简单地包装 class:
class MyString {
@SomeCustomStringValidator
String bar;
// mutators
}
然后构建MyString
的列表:
class Foo {
List<MyString> bars;
}
如果您使用的是Java8,您可以使用最新的Hibernate Validator 5.2 版本。有可能做到:
class Foo{
@Valid
List<@SomeCustomStringValidator String> bars;
}
否则,您可以使用中提到的class包装方法。
最后但同样重要的是,您可以编写自定义 ConstraintValidator<SomeCustomStringValidator, Collection>
并尝试在该验证器和您已有的 ConstraintValidator 之间共享核心验证逻辑。
假设我有一个 class:
class Foo{
@SomeCustomStringValidator
String bar;
}
然后我想要
class Foo{
List<String> bars;
}
有没有办法以某种方式使用 @SomeCustomStringValidator 应用于 bars
集合?
我会简单地包装 class:
class MyString {
@SomeCustomStringValidator
String bar;
// mutators
}
然后构建MyString
的列表:
class Foo {
List<MyString> bars;
}
如果您使用的是Java8,您可以使用最新的Hibernate Validator 5.2 版本。有可能做到:
class Foo{
@Valid
List<@SomeCustomStringValidator String> bars;
}
否则,您可以使用
最后但同样重要的是,您可以编写自定义 ConstraintValidator<SomeCustomStringValidator, Collection>
并尝试在该验证器和您已有的 ConstraintValidator 之间共享核心验证逻辑。