javascript - Node JS 发布 | PUT 正文验证

标签 javascript node.js validation express

生产 级别环境中,POST/PUT 正文验证的标准或多或少是什么?

我的方法一直是这样的:

const isValid = (req.body.foo && /[a-z0-9]*/i.test(req.body.foo))

仅检查变量是否存在且不包含意外字符。

最佳答案

您使用 Express 标记了您的问题,因此我将重点关注 Express 中的请求正文验证。对于 Express,有两个最流行的用于验证的模块:

两者都很稳定并且被广泛使用。 您可以使用其中任何一个,具体取决于您喜欢的验证语法。第一个是在内部使用 validator。 第二个是在内部使用 joi

参见:

在路由处理程序中使用 express-validator 的示例:

req.checkBody('postparam', 'Invalid postparam').notEmpty().isInt();
req.checkParams('urlparam', 'Invalid urlparam').isAlpha();
req.checkQuery('getparam', 'Invalid getparam').isInt();

express-validation 用作中间件的示例

validate({body: {
  email: Joi.string().email().required(),
  password: Joi.string().regex(/[a-zA-Z0-9]{3,30}/).required()
}})

这会返回一个中间件。该对象通常作为模块导出并存储在不同的文件中。

关于javascript - Node JS 发布 | PUT 正文验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43074719/

相关文章:

node.js - 跨设备编码静态文件以使用 FFMPEG 在浏览器中流式传输(分段的 h264?)

javascript - 异步每个系列未按预期返回

asp.net-mvc - 使用 Knockout JS + MVC + 服务器端模型验证显示错误?

java - 如何修复 'parentMessageSource of the messageSourceBean' 使其不总是为空

javascript - 在选项卡式 View 下,electron/javascript : node. js调用无法通过HTML脚本运行

javascript - 从 Jquery HandsonTable() 获取 $_POST 到 php

node.js - 从 Node lambda 调用时未从 AWS RDS 获取任何结果

javascript - 将多个按键绑定(bind)到按键事件

javascript - 在加载事件触发后,什么样的 HTTP 请求可以挂起?

excel - 引用命名表中的第二行进行数据验证