仅当对象字段不为空时才可以验证它吗?

时间:2014-05-21 22:27:11

标签: java hibernate validation bean-validation

此问题有两个现有变体:

  1. Validate only if the field is not Null:有条件处理String字段
  2. 的解决方案
  3. Hibernate validation - only validate if object is not null:唯一的答案展示了在手动触发验证时如何处理它的行为和提示。
  4. 我的问题添加了一个限定符,当在一个可能为null的对象上使用@Valid时,我该如何做到这一点。

    这里的用例是我们有两个字段,其中一个或另一个不需要为null(包含字段的类上的自定义验证器)。当一个不为null时,我需要它才有效。那么我是否需要在我的自定义验证器中完全手动验证该对象,为它增加了比预期更多的责任?

    在这种情况下仅使用注释会导致抛出NullPointerException,这会在处理之前将其分解出验证。目前没有办法做到这一点吗?

1 个答案:

答案 0 :(得分:5)

@Valid引用只有在它们不为空时才会被跟踪,所以其他东西必须导致你的NPE。