首页 > 解决方案 > 快速验证与必需属性

问题描述

我正在使用 EJS 框架制作一个nodejs 登录应用程序。从我看过的教程中,我看到他们使用快速验证来防​​止在某些输入字段为空时提交。我尝试使用输入字段的required 属性进行相同的操作,它工作得很好并且更容易。我应该使用 express-validation 还是 required 属性,一个比另一个有什么优势?

标签: node.jsejsrequiredexpress-validator

解决方案


Express.js 是一个框架,位于 Node.js 之上,一个事件驱动的非阻塞 JavaScript 运行时,位于 V8 引擎之上。

Node.js 和 Express 是服务器端JavaScript。

HTML5 是客户端

向 HTML5客户端DOM 元素添加“必需”属性会强制用户特定浏览器在用户调用 html5 表单元素上的提交事件时向用户显示消息(客户端,在任何数据有效负载被 HTTP POST 到服务器端代码)...在您的情况下是 Node.js Express.js 应用程序。

要回答您的问题:

  1. 探索和理解客户端服务器端代码之间的区别。

  2. 如果您希望浏览器告诉用户他们必须在表单输入中输入值,请在表单元素上使用 HTML5 必需属性。

  3. 使用 npm 'Express-validation' 中间件对用户输入值执行服务器端“格式化”/“清理”,以尝试预防 Web 应用程序安全漏洞,例如 NoSQL 注入/持久 XSS/反射 XSS/DOM XSS 类型攻击。


推荐阅读