当前位置: 首页 > 知识库问答 >
问题:

Hibernate Validator@NotNull总是先触发吗?

笪智志
2023-03-14

这似乎很明显,但我之所以这么问,是因为我看到一些自定义验证器检查要验证的值是否为null,如果为null,则返回true。这似乎是个坏主意,因为如果开发人员忘记将@Notnull添加到email字段,那么email字段仍将通过验证。

奥勒蒂亚

共有1个答案

劳和歌
2023-03-14

null返回true被认为是Bean验证中的最佳实践,并且所有内置约束都遵循它(在可能的情况下)。Bean验证规范在第3.4节中提到。约束验证实现:

虽然不是强制性的,但将核心约束验证与not null约束验证分开是一个好的做法(例如,@Email约束将在null对象上返回true,即不会处理@NotNULL验证)。

null可以有多种含义,但通常用于表示一个值没有意义、不可用或只是未知。对值的那些约束在大多数情况下与其他约束正交。例如,字符串如果存在,则必须是email,但可以为null。将这两个关注点分开是一个很好的做法。

 类似资料:
  • 下面是有问题的代码: 目前,在

  • 我在谷歌标签管理器中使用点击触发器时遇到困难。 我想设置一个触发器来触发单击事件,只有当元素类包含"scrollto"时。 但问题是,即使“scrollto”类不是我单击的元素的一部分,它也会不断启动。 这里有一些截图,我希望能帮助你理解这个问题: 谢谢你的帮助,亚历克西斯

  • 我已经创建了一个Azure webwork,它将向服务总线队列发送强类型消息,并成功发送。 我想创建另一个webjob,只要servicebus队列中有消息,就会触发该webjob。请在下面找到我正在尝试的代码。出于某种原因,尽管servicebus队列中有消息,但当我在本地运行webjob时,webjob未被触发并出现错误。 错误: 代码: 有谁能帮我解决这个问题吗? 谢谢

  • 考虑一个MapReduce程序的WordCount问题。 让我们考虑一下映射器的输出如下:Hello 1 World 1 Hello 1 Hadoop 1 Hello 1Hadoop1 它去了分区器(我们将2指定为缩减器的no,)现在mapout在2个部分part1中获取分区: Hello 1 Hello 1 Hello 1 Hello 1 Part 2:世界1 Hadoop 1 Hadoop 1

  • 对于Java 8之后的JVM 当metaspace的大小

  • 我对Android系统比较陌生,所以我在这里很困惑... NotificationReceiver.java manifest.xml