首页 > 解决方案 > 一个人可以有空名字吗?

问题描述

我正在编写一个具有注册表单的应用程序。这篇文章让我怀疑我所知道的关于人名的一切。我的问题是:一个人的名字一定有正数吗?或者我可以通过这种方式验证姓名并确信我没有否认任何人的身份吗?

PS:有人可能会问我为什么要验证。答案是这是针对学校项目的,适当的验证是标记的一部分。上面的文章证明了人名几乎可以是任何正长度的字符串,但我不知道零长度是否可以。

标签: validation

解决方案


对于所有类型的编程,您必须区分现实世界中有意义的内容和对您的软件解决方案有意义的内容。

如何使用数据将验证所需的验证类型。

例如,如果您的软件与政府 API 交互,而政府 API 需要名字和姓氏,您也应该这样做。

如果您正在与银行账户进行交互,您可能有一个代表该账户名称的字符串,其中很多或可能不是人名,但可能有其他长度限制。

如果名称仅用于显示目的,则可能根本没有必要捕获该名称,而您应该捕获一个首选的显示名称(无需假设一定数量的名称组件)。

在编写软件时,您的目标应该是尽可能少地做出假设,除非这些假设会导致您的软件解决方案的复杂性增加。如果软件要求人们使用非空名称,那么您应该在边界处验证这是真的。

另外,如果你是我的学生,你已经因为把 null 和一个空字符串混为一谈而丢分了。在这种情况下,null 表示您缺少有关名称的数据,而空字符串表示用户已指定其名称为空。

此外,如果您决定不验证某些内容,您至少应该发表评论以表明您已经考虑过了。如果您做了一些不寻常的事情,未来的开发人员可能会出现并修复“错误”。此外,这可以帮助您避免丢失分数。


推荐阅读