Java Hibernate Validator@NotNull是否总是首先触发?
换句话说,如果我有两个约束,比如Java Hibernate Validator@NotNull是否总是首先触发?,java,hibernate,validation,hibernate-validator,Java,Hibernate,Validation,Hibernate Validator,换句话说,如果我有两个约束,比如@Email和@NotNull,@Email验证器不会抛出NPE 这似乎很明显,但我之所以这么问,是因为我看到一些自定义验证器检查要验证的值是否为null,如果为true,则返回true。这似乎是个坏主意,因为如果开发人员忘记将@NotNull添加到email字段,那么email字段仍将通过验证 蒂亚, Ole为null返回true被认为是Bean中的最佳实践 验证和所有内置约束都遵守它(如果可能)。 Bean验证规范在第节中说明: 虽然不是强制性的,但分割数据被
@Email
和@NotNull
,@Email
验证器不会抛出NPE
这似乎很明显,但我之所以这么问,是因为我看到一些自定义验证器检查要验证的值是否为null,如果为true,则返回true。这似乎是个坏主意,因为如果开发人员忘记将@NotNull
添加到email
字段,那么email字段仍将通过验证
蒂亚,
Ole为
null
返回true
被认为是Bean中的最佳实践
验证和所有内置约束都遵守它(如果可能)。
Bean验证规范在第节中说明:
虽然不是强制性的,但分割数据被认为是一种良好的做法
来自非空约束验证的核心约束验证
(例如,@Email约束将在null对象上返回true,
i、 e.不会处理@NotNull验证)
null可以有多种含义,但通常用于表示
值没有意义、不可用或只是未知。
在大多数情况下,值上的这些约束与其他约束是正交的
限制。例如,字符串(如果存在)必须是电子邮件,但
可以为空。将这两个关注点分开是一种很好的做法