node.js - 快速验证与必需属性
问题描述
我正在使用 EJS 框架制作一个nodejs 登录应用程序。从我看过的教程中,我看到他们使用快速验证来防止在某些输入字段为空时提交。我尝试使用输入字段的required 属性进行相同的操作,它工作得很好并且更容易。我应该使用 express-validation 还是 required 属性,一个比另一个有什么优势?
解决方案
Express.js 是一个框架,位于 Node.js 之上,一个事件驱动的非阻塞 JavaScript 运行时,位于 V8 引擎之上。
Node.js 和 Express 是服务器端JavaScript。
HTML5 是客户端。
向 HTML5客户端DOM 元素添加“必需”属性会强制用户特定浏览器在用户调用 html5 表单元素上的提交事件时向用户显示消息(客户端,在任何数据有效负载被 HTTP POST 到服务器端代码)...在您的情况下是 Node.js Express.js 应用程序。
要回答您的问题:
探索和理解客户端和服务器端代码之间的区别。
如果您希望浏览器告诉用户他们必须在表单输入中输入值,请在表单元素上使用 HTML5 必需属性。
使用 npm 'Express-validation' 中间件对用户输入值执行服务器端“格式化”/“清理”,以尝试预防 Web 应用程序安全漏洞,例如 NoSQL 注入/持久 XSS/反射 XSS/DOM XSS 类型攻击。
推荐阅读
- javascript - 通过类名使用 javascript 隐藏 HTML 内容
- kubernetes - kubernetes 如何在容器运行之前将 cfg 文件复制到容器中?
- javascript - (node .) command: "throw new errors.ERR_INVALID_ARG_TYPE('listener', 'Function', listener);"
- android - Android 应用程序 - 尝试访问旧资源的更新版本
- python - 夏威夷语发音者
- java - 嵌套for循环输出打印和格式化不正确的表格,这一切都很时髦
- python - 在使用python和mysql的时候,并不是所有的参数都用在SQL语句中
- json - .net 中的 curl 命令
- scala - 在运行时访问 Play Framework Router 路由表
- java - 仅通过 Google Java 库上的操作登录 Google 屏幕?