2

是否可以在调用验证方法的验证器中获取组?

我有多个组(创建、更新、删除),它们最能导致对一个 bean 进行类似的验证。
而不是提供多个几乎相同的验证器(并创建实用程序函数来外部化相同的验证代码),我宁愿有一个验证器来处理有关调用验证的组的验证。

在最坏的情况下,我有 3 次n单个验证器和n用于共享代码的实用程序类,而不仅仅是 n 个验证器。

Validator.validate(Object, Class<?> ... groups)

我如何让我的验证器中的这些组做一些类似伪的事情?

if (groups.contains(Create.class)) // validate create stuff
4

1 回答 1

1

如果您询问如何在自定义约束(ConstraintValidator 实现)中确定当前已验证的约束,答案是您不能。

组和约束的概念是正交的。约束的行为不应因被验证的组而异。

在这种情况下,考虑约束的用户。如果验证是有条件的,他们怎么知道他们的约束是什么?

于 2013-06-30T08:35:16.130 回答