在开发 Web 前端应用时,输入验证是一项非常重要的工作。例如,您可能需要确保用户输入的电话号码是有效的,或者在提交表单之前确保表单中的所有字段均已填写完整。这可以避免应用程序在运行时出现错误或崩溃。
在本文中,我们将介绍如何在 Fastify 中使用 Yup 进行输入验证。这是一个流行的 JavaScript 库,可以轻松地验证各种数据类型和格式。
安装 Yup
要开始使用 Yup,您需要先安装它。可以从 npm 中心下载它:npm install yup
创建验证架构
验证架构是描述输入验证规则的对象。您可以通过创建一个 Yup 架构来定义验证规则并执行验证。以下是一个简单的示例:
const yup = require('yup') const schema = yup.object().shape({ name: yup.string().required(), age: yup.number().required().positive().integer(), email: yup.string().email(), website: yup.string().url(), })
这段代码创建了一个验证架构,其中包含以下验证规则:
name
:必填,必须是字符串age
:必填,必须是正整数email
:必须是有效的电子邮件地址website
:必须是有效的 URL
请注意,此处使用链式语法使代码更具可读性和易于维护。
在 Fastify 中执行验证
现在我们已经定义了验证规则,可以在 Fastify 路由处理程序中使用它。以下是一个简单的路由处理程序示例,其中使用上面定义的验证架构来验证 POST 请求中的输入数据:
-- -------------------- ---- ------- ----- ------- - -------------------- ------- ---- -- ----- --- - -------------- ----- ------ - -------------------- ----- ------------------------ ---- --------------------------------------------- ------ --------------------- -------- ------------------- -- --------------------- ----- --------- ------ -- - --- - ----- ---- - ------------ ----- --------------------- -- ---- ---------------------- -------- ----- ----- ------------- -- - ----- ------- - -- ------ ---------------------- -------- ------------- -- - -- -------------------- ----- -------- -- - -- ----- - ---------------------- --------------- - ------------------------ --------- -- ------------ --
此函数确定用户需要定义 name
、age
字段。如果输入数据未通过验证,将返回 400 状态代码,否则返回 200 状态代码。
结论
输入验证对于确保应用程序的正确性和稳定性至关重要。Yup 是一个流行的 JavaScript 库,可以轻松地验证各种数据类型和格式。在本文中,我们已经介绍了如何在 Fastify 中使用 Yup 进行输入验证。当然,这只是一个概述,您应该自己尝试编写完整的应用程序并自己测试验证规则。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/66f15f266fbf9601973a48f1