如果您正在构建 Web 应用程序,您可能会在第一天就遇到构建 HTML 表单的需要。它们是网络体验的重要组成部分,而且可能很复杂。 Backward Skip 10s Play Video Forward Skip 10s 通常,表单处理过程涉及: 显示空 HTML 表单以响应初始GET请求 POST用户在请求中提交带有数据的表单 在客户端和服务器端都进行验证 如果无效,则重新显示填充有转义数据和错误消息的表单 如果服务器上的数据全部有效,则对这些数据进行处理 处理数据后重定向用户或显示成功消息。 处理表单数据还需要额外的安全考虑。 我们将详细介绍所有这些内容,并解释如何使用 Node.js 和Express(最流行的 Node.js Web 框架)来构建它们。首先,我们将构建一个简单的联系表单,人们可以在其中安全地发送消息和电子邮件地址,然后看看处理文件上传涉及哪些内容。
包含电子邮件和消息的联系表单,但存在验证错误 Learn to Code with JavaScript 与以往一样,完整的代码可以在我们的GitHub 存储库中找到。 设置 确保您安装了最新版本的 Node.js。node -v应该返回8.9.0或更高。 使用 Git 从此处下载起始代码注意:该存储库有两个分支,starter和master。该starter分支包 黎巴嫩电话号码表 含遵循本文所需的最低设置。该master分支包含完整的工作演示(上面的链接)。 里面没有太多代码。它只是一个简单的 Express 设置,带有EJS 模板和错误处理程序 显示表单 当人们向 发出 GET 请求时/contact,我们想要渲染一个新视图contact.ejs表格提交 要在 Express 中接收 POST 值,您首先需要包含中间件body-parser,该中间件会在您的路由处理程序中公开提交的表单值req.body。数据 POST 回与初始 GET 请求中使用的 URL 相同的 URL 是一种常见约定。
让我们在这里执行此操作并处理 POST/contact来处理用户输入。 Learn to Code with JavaScript 我们先看一下无效提交。如果无效,我们需要将提交的值连同我们想要显示的任何错误消息一起传递回视图(这样用户不需要重新输入它们)如果出现任何验证错误,我们将执行以下操作: 在表单顶部显示错误 将输入将其添加到数组的末尾middlewares表单将值设置为提交给服务器的值 在输入下方显示内联错误 form-field-invalid向有错误的字段添加一个类。提交表格以查看实际情况。这就是我们在视图方面需要的一切。 验证和清理 有一个名为express-validator 的方便中间件,用于使用validator.js库验证和清理数据。让我们将其添加到我们的应用程序中。 验证 通过提供的验证器,我们可以轻松检查是否提供了消息和有效的电子邮件地址