npm 包 `required-keys` 使用教程

阅读时长 7 分钟读完

在前端开发中,我们经常需要对对象进行校验,判断对象是否符合特定的要求。这个过程中,我们需要一个方便易用、高效可靠的工具来简化操作,这就是 required-keys

required-keys 是一个 npm 包,它提供了一种快速而又方便的方法来验证对象是否拥有必需的键。它可以用来限制 API 调用的输入参数,表单输入数据的提交,甚至可以用来验证传入的配置参数是否正确。

基本使用方法

安装

required-keys 的安装非常方便,执行以下命令即可安装:

引入

在代码中引入 required-keys

执行检查

使用方法非常简单。让我们假设我们有一个对象,名为 userData,它包含了用户的一些基本信息。

在这个例子中,我们希望 userData 对象包含 nameageemail 这三个键。如果不存在这些键中的任何一个,我们需要给出相应的错误信息。

下面是检查的代码:

如果 userData 中不包含任何一个指定的键,required-keys 会抛出一个错误并中止程序,如下所示:

复合键

我们也可以使用复合键来检查对象。一个复合键是一个由多个键组成的键组合。在一个对象中检查复合键时,它会检查所有的键是否都存在。

让我们假设我们现在有一个更加复杂的对象,名为 userObject,它包含了用户的个人信息和地址信息,如下所示:

-- -------------------- ---- -------
--- ------- - -
  --------- -
    ----- ----- -----
    ---- --
  --
  -------- -
    ------- ---- ---- ----
    ----- ----------
    ------ -----
    ---- -------
  -
-

在这个例子中,我们希望 userObj 对象包含 personal.namepersonal.ageaddress.streetaddress.cityaddress.stateaddress.zip 这六个键。如果不存在这些键中的任何一个,我们需要给出相应的错误信息。

下面是检查的代码:

如果 userObj 中不包含任何一个指定的键,required-keys 会抛出一个错误并中止程序,如下所示:

高级使用方法

允许选填键

有时候,我们希望对象中的某些键是可选的。在这种情况下,我们可以为选填键创建一个可以选填的数组。

让我们假设我们有一个对象,名为 formData,它包含了用户提交的表单信息。

在这个例子中,nameageemail 是必填项,而 phone 是可选项。

下面是检查的代码:

如果 formData 中不包含任何一个指定的键,required-keys 会抛出一个错误并中止程序,如下所示:

如果我们添加 ['phone'],那么 phone 将变成可选键:

如果现在我们给 formData 对象添加一个 phone 键,那么将不会抛出任何错误。但如果 formData 对象中依然存在 nameageemail 之一或多个键不存在,错误将继续抛出。

自定义错误消息

我们可以通过向 requiredKeys 函数的第四个参数中添加错误消息来自定义错误消息。这个错误消息将会替代默认错误消息。

让我们以下面的对象为例:

我们可以向 requiredKeys 函数的第四个参数中添加任意错误消息,如下所示:

errorObject 不包含 name 时,requiredKeys 会抛出自定义错误消息:

使用示例

现在,我们来使用一个完整的示例来展示 required-keys 的功能。

首先,让我们看一下一些模拟数据,这些数据表示了我们从某个 API 中接收到的数据结构。

-- -------------------- ---- -------
-- ----
--- ------- - -
  ----- -
    ----- ----- -----
    ---- ---
    ------ -----------------------
    -------- -
      ------- ---- ---- ----
      ----- ----------
      ------ -----
      ---- -------
    --
    ------ ----------
  -
--

接下来,我们要使用 required-keys 验证 apiData 对象是否包含所有必需的键。

这行代码将会验证所有必需的键是否存在。在这个例子中,user.address.secondLine 是可选键。如果存在错误,required-keys 将会抛出下面的错误:

我们可以使用可选键来检查 user.address.secondLine 是否存在:

如果 apiData 包含所有必需的键,则代码将会正常运行;否则,将会抛出错误。

总结

required-keys 是一个非常有用的 npm 包,它能够简化对象校验的操作。这个工具可以用来限制 API 调用的输入参数、表单输入数据的提交、甚至可以用来验证传入的配置参数是否正确。在使用 required-keys 时,我们需要传入需要校验的对象,以及包含必需键的数组以及可选键(如果有)。校验失败时,required-keys 会抛出一个错误,以便我们快速地定位问题并检查代码。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/88278