龙空技术网

如何使用 Java 验证名称

科技狠活与软件技术 353

前言:

目前朋友们对“java验证”大约比较珍视,朋友们都需要学习一些“java验证”的相关内容。那么小编在网络上搜集了一些关于“java验证””的相关资讯,希望你们能喜欢,小伙伴们一起来学习一下吧!

每日分享最新,最流行的软件开发知识与最新行业趋势,希望大家能够一键三连,多多支持,跪求关注,点赞,留言。了解三个单独的 API 解决方案的上下文,这些解决方案可用于验证应用程序中的名称输入字段,您可以按照此演示进行操作。

名字是我们身份的重要组成部分。当我们第一次见到的人在下次见到他们时记得我们的名字时,它传达了一定程度的尊重,放纵我们的自我重要性感,并加强我们与那个人的联系作为回报。相反,当我们忘记或错误地记住某人的名字时——或者当他们对我们做同样的事情时——这种令人失望的负面印象可能永远不会消失。

因此,在任何以客户为中心的业务中(人们可能会合理地认为所有业务都以客户为中心),找到一种正确记录名称的方法是未来与这些客户保持积极、富有成效的关系的第一步。随着记录和管理姓名的负担越来越多地落在自动化的、面向客户的网页上(例如,许多企业网站上的“创建帐户”页面),出现了一些重要问题,例如:

我们如何确保通过我们设置的输入字段准确存储姓名?
此外,当我们识别和训练参考数据库的名称通常具有我们以前从未见过的独特同音异义词时,我们如何要求输入字段验证名称是否“正确”?
成千上万的企业——仅限在线和实体店——依靠准确的客户数据输入作为他们持续成功的关键。不用说:正确处理这一点非常重要。

在任何类型的数据输入过程中确保准确性和质量时,验证 API 是一种无处不在的解决方案。它们提供了一种有效的方法来确保不正确的数据不会导致任何给定应用程序中的下游错误。然而,姓名与其他数据(尤其是其他客户联系数据,如电子邮件地址和电话号码)不同,因为它们并不总是与规定/标准化的结构保持同步。

例如,如果我们考虑以下拼写:Conor、Conner和Connor,我们可以认识到至少有三种不同的方法来迭代一个听起来相同的名字。而且,基于此,我们可以合理地假设那里有更多我们没有的利基拼写意识到。因此,名称验证服务不得过于严格地使用参考数据,以至于仅仅因为名称与现有数据点不匹配而断然拒绝名称的拼写/迭代。继续前面的示例,如果名为“Conor”的用户在创建新帐户时没有出现任何问题,但在同一过程中通知将其姓名唯一拼写为“Connar”的人其姓名拼写错误或无效,我们已经从一开始就与该客户建立了不稳定的关系。尝试以这种方式验证名称无异于告诉用户他们的名称应该如何拼写。这不是我们这样做的地方;相反,名称验证 API 应该只针对防止与历史拼写/迭代无关的一组有限的无效条目。这包括避免数字、符号、垃圾邮件输入,

示范
本文将重点介绍三个名称验证 API,它们旨在促进名称输入验证,而不会将用户限制在已知的名称拼写上,并且对名称中常见标点符号(例如连字符和撇号)的使用有合理的宽容。这些 API 包括以下内容:

解析和验证全名
验证名字
验证姓氏
解析和验证全名API旨在允许用户将全名(包括后缀、昵称和标题)作为字符串输入到单个字段中。该解决方案提供了捕获有关输入姓名的每个人的更多信息的机会,并提供了最大的灵活性以适应那些希望输入更长的姓氏和头衔的人。此 API 会自动将输入的名称字符串解析为其组成部分的列表,包括(DisplayName名称的完整显示)、、、、、等(下面提供了完整的示例响应正文,在提供给调用的代码示例下方API)。为了容纳更长的姓氏,FirstNameLastNameMiddleNameNickNameMiddleName响应将包含输入的名字和姓氏之间提供的每个名称,以空格分隔。最重要的是,此 API 将提供ValidationResult_FirstName和ValidationResult_LastName值,这些值(如名称所示)将确定名称是否是有效的数据条目。 ValidationResult响应可以包括以下任何分类:

ValidFirstName,ValidLastName
ValidUnknownFirst Name;ValidUnknownLastName
InvalidSpamInput
InvalidCharacters
InvalidEmpty
使用此响应模型,使用未知拼写迭代的名称仍将被视为有效,只要它们拼写为有效字符。这使得接受新的名称拼写成为可能,同时承认它们在某种程度上是意外的,这将有助于防止用户在输入名称时出错。仅当名称可被识别为垃圾邮件、包含无效字符(数字、符号等)或完全未包含在名称输入字段中时,名称才会被视为无效。

另一方面,名字和姓氏验证 API 只涉及验证在各自字段中输入的个人姓名。这些 API 非常适合我们想要有意限制/简化用户数据输入的情况(例如,如果我们将这些名称用于运输标签)。这些 API 还将返回ValidationResult上面提供的值之一,并且它们不会解析或重构任一条目字符串。

我现在将演示如何首先安装 Cloudmersive Validation API 客户端,然后为上述三个 API 中的每一个构建 API 调用。为方便起见,我将使用可立即运行的 Java 代码示例来执行此操作,您可以将其复制并直接粘贴到您的环境中。

首先,我们首先需要使用Maven 或 Gradle安装 SDK 库。如果我们选择使用 Maven,我们的第一步是向 pom.xml 存储库添加一个 JitPack 引用:

<repositories>
<repository>
<id>jitpack.io</id>
<url>;/url>
</repository>
</repositories>


然后,我们需要添加另一个对依赖项的引用:

<dependencies>
<dependency>
<groupId>com.github.Cloudmersive</groupId>
<artifactId>Cloudmersive.APIClient.Java</artifactId>
<version>v4.25</version>
</dependency>
</dependencies>


如果我们选择使用Gradle,我们的第一步是在你的根 build.gradle 中添加一个引用(在存储库的末尾):

allprojects {
repositories {
...
maven { url '; }
}
}


之后,我们可以在 build.gradle 中包含依赖项:

dependencies {
implementation 'com.github.Cloudmersive:Cloudmersive.APIClient.Java:v4.25'
}


安装完成后,我们可以将注意力转向调用每个我们认为合适的名称验证函数。在复制以下任何示例之前,您首先需要将以下导入添加到文件顶部:

// Import classes:
//import com.cloudmersive.client.invoker.ApiClient;
//import com.cloudmersive.client.invoker.ApiException;
//import com.cloudmersive.client.invoker.Configuration;
//import com.cloudmersive.client.invoker.auth.*;
//import com.cloudmersive.client.NameApi;


1. 在我们的导入下,我们可以使用以下代码示例来构造我们的解析和验证全名 API 调用:

ApiClient defaultClient = Configuration.getDefaultApiClient();

// Configure API key authorization: Apikey
ApiKeyAuth Apikey = (ApiKeyAuth) defaultClient.getAuthentication("Apikey");
Apikey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//Apikey.setApiKeyPrefix("Token");

NameApi apiInstance = new NameApi();
FullNameValidationRequest input = new FullNameValidationRequest(); // FullNameValidationRequest | Validation request information
try {
FullNameValidationResponse result = apiInstance.nameValidateFullName(input);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling NameApi#nameValidateFullName");
e.printStackTrace();
}


成功调用解析和验证全名 API 将返回以下格式的输入信息(尽可能多):

{
"Successful": true,
"ValidationResult_FirstName": "string",
"ValidationResult_LastName": "string",
"Title": "string",
"FirstName": "string",
"MiddleName": "string",
"LastName": "string",
"NickName": "string",
"Suffix": "string",
"DisplayName": "string"
}


2.要验证名字,我们可以使用以下函数:

ApiClient defaultClient = Configuration.getDefaultApiClient();

// Configure API key authorization: Apikey
ApiKeyAuth Apikey = (ApiKeyAuth) defaultClient.getAuthentication("Apikey");
Apikey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//Apikey.setApiKeyPrefix("Token");

NameApi apiInstance = new NameApi();
FirstNameValidationRequest input = new FirstNameValidationRequest(); // FirstNameValidationRequest | Validation request information
try {
FirstNameValidationResponse result = apiInstance.nameValidateFirstName(input);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling NameApi#nameValidateFirstName");
e.printStackTrace();
}


3. 最后,要验证姓氏,我们可以使用 以下函数:

ApiClient defaultClient = Configuration.getDefaultApiClient();

// Configure API key authorization: Apikey
ApiKeyAuth Apikey = (ApiKeyAuth) defaultClient.getAuthentication("Apikey");
Apikey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//Apikey.setApiKeyPrefix("Token");

NameApi apiInstance = new NameApi();
LastNameValidationRequest input = new LastNameValidationRequest(); // LastNameValidationRequest | Validation request information
try {
LastNameValidationResponse result = apiInstance.nameValidateLastName(input);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling NameApi#nameValidateLastName");
e.printStackTrace();
}


无论是名字还是姓氏,验证器都将以以下格式提供响应:

{
"Successful": true,
"ValidationResult": "string"
}


在安装和构建对这些 API 的调用之后,我建议使用具有独特结构和拼写的各种不同名称来测试它们。您可能还希望在安装前执行此类测试。为此,在此控制台页面上,选择 API 下拉列表以通过输入参数传递测试参数。

标签: #java验证