npm 包 @sidvind/better-ajv-errors 使用教程

阅读时长 3 分钟读完

在前端开发中,数据验证是一个相当重要的环节。Ajv 是一个快速、高效的 JSON Schema 验证器,可用于在 JavaScript 环境中进行数据验证,但其默认错误提示相当简略,对于开发者而言并不够友好。

这时我们可以使用 @sidvind/better-ajv-errors 这个 npm 包,它能够对 Ajv 的错误信息进行格式化和完善,以便更好地帮助开发者进行调试和排错。

安装

在安装 @sidvind/better-ajv-errors 之前,需要先安装 Ajv:

然后再安装 @sidvind/better-ajv-errors:

使用

使用 @sidvind/better-ajv-errors 可以分为两个步骤:首先,创建 Ajv 实例;然后,对 Ajv 实例应用 @sidvind/better-ajv-errors。

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

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

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

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

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

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

在上述示例中,我们:

  • 引入 Ajv 和 @sidvind/better-ajv-errors;
  • 创建一个 Ajv 实例,其中 allErrors 选项允许 Ajv 输出所有的错误信息;
  • 定义一个 JSON Schema 和待验证数据;
  • 将 JSON Schema 和数据传递给 Ajv 编译得到一个验证函数 validate;
  • 使用 validate 验证数据是否符合 JSON Schema,如果不符合,则使用 betterAjvErrors 格式化错误信息并输出。

betterAjvErrors 函数接受四个参数:

  • JSON Schema;
  • 待验证数据;
  • Ajv 验证结果中的错误信息 errors;
  • 格式化选项 options。

options 可以有以下选项:

  • format: 可接受的值包括 all、cli、js 和 inline;
    • all: 输出所有的错误信息(默认选项);
    • cli: 输出命令行友好的错误信息;
    • js: 生成 JavaScript 代码,可以帮助将错误信息打印到控制台、日志文件中;
    • inline: 嵌入错误信息到源代码中。

除了 format,还有其他格式化选项,可以在文档中查看。

结语

使用 @sidvind/better-ajv-errors,开发者可以获得更加友好和详细的 Ajv 错误信息,这对于开发调试来说非常有帮助。希望这篇教程能够对大家有所帮助。

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

纠错
反馈