在 Fastify 中使用 Yup 进行输入验证

阅读时长 4 分钟读完

在开发 Web 前端应用时,输入验证是一项非常重要的工作。例如,您可能需要确保用户输入的电话号码是有效的,或者在提交表单之前确保表单中的所有字段均已填写完整。这可以避免应用程序在运行时出现错误或崩溃。

在本文中,我们将介绍如何在 Fastify 中使用 Yup 进行输入验证。这是一个流行的 JavaScript 库,可以轻松地验证各种数据类型和格式。

安装 Yup

要开始使用 Yup,您需要先安装它。可以从 npm 中心下载它:npm install yup

创建验证架构

验证架构是描述输入验证规则的对象。您可以通过创建一个 Yup 架构来定义验证规则并执行验证。以下是一个简单的示例:

这段代码创建了一个验证架构,其中包含以下验证规则:

  • name:必填,必须是字符串
  • age:必填,必须是正整数
  • email:必须是有效的电子邮件地址
  • website:必须是有效的 URL

请注意,此处使用链式语法使代码更具可读性和易于维护。

在 Fastify 中执行验证

现在我们已经定义了验证规则,可以在 Fastify 路由处理程序中使用它。以下是一个简单的路由处理程序示例,其中使用上面定义的验证架构来验证 POST 请求中的输入数据:

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

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

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

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

此函数确定用户需要定义 nameage 字段。如果输入数据未通过验证,将返回 400 状态代码,否则返回 200 状态代码。

结论

输入验证对于确保应用程序的正确性和稳定性至关重要。Yup 是一个流行的 JavaScript 库,可以轻松地验证各种数据类型和格式。在本文中,我们已经介绍了如何在 Fastify 中使用 Yup 进行输入验证。当然,这只是一个概述,您应该自己尝试编写完整的应用程序并自己测试验证规则。

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

纠错
反馈