express.js - 最好的POST json模式验证器

Kos*_*ika 7 javascript validation schema json express

我正在搜索一个模块来验证我的Express.js应用程序中的POST json请求.

您在node.js应用程序中使用了哪些json架构模块?

我假设node-validator(https://github.com/chriso/node-validator)不是一个选项,因为它只适用于字符串.

Adr*_*son 11

嗨,我最近写了express-jsonschema.与其他验证器的主要区别在于:

  1. 您可以使用标准的json模式进行验证.如果您已编写其他服务器端语言,则可能以前使用过它们.
  2. 它不会控制应用程序如何响应无效数据.它确实为您提供了一个机会,可以根据需要进行操作并做出响应.根据我的经验,这是一个很好的控制.

express-schema-validator,express-validatePaperwork都很棒.它们每个都有自己独特的语法来声明模式,并控制应用程序如何响应无效数据(即状态代码和数据结构).

祝好运!


Tre*_*kow 7

我做了这个 - 如果你仍然感兴趣:https://npmjs.org/package/isvalid


Lau*_*rin 5

编写Paperwork,这是一个非常简单的JSON验证解决方案。您可以执行以下操作:

app.post('/my/route', paperwork({
  username: /[a-z0-9]+/,
  password: String,
  age: Number,
  interests: [String],
  jobs: [{
    company: String,
    role: String
  },
}, function (req, res) {
  // ...
});
Run Code Online (Sandbox Code Playgroud)

它将验证:

{
  username: 'brucewayne',
  password: 'iambatman',
  age: 36,
  interests: ['Climbing', 'CQC', 'Cosplay'],
  jobs: [{
    company: 'Wayne Inc.',
    role: 'CEO'
  }]
}
Run Code Online (Sandbox Code Playgroud)

或将以错误信息静默响应400错误。检查文档以进行更多高级用法。