我正在搜索我的 Express.js 应用程序中验证POST json请求的模块。
您在node.js应用中使用了哪些json架构模块?
我认为node-validator(https://github.com/chriso/node-validator)在这里不是一个选项,因为它只适用于字符串。
答案 0 :(得分:10)
您好我最近写过express-jsonschema。与其他验证器的主要区别在于:
express-schema-validator,express-validate和 Paperwork都很棒。它们每个都有自己独特的语法来声明模式,并控制应用程序如何响应无效数据(即状态代码和数据结构)。
祝你好运!答案 1 :(得分:7)
我做了这个 - 如果你仍然感兴趣:https://npmjs.org/package/isvalid
答案 2 :(得分:4)
我制作了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) {
// ...
});
它将验证:
{
username: 'brucewayne',
password: 'iambatman',
age: 36,
interests: ['Climbing', 'CQC', 'Cosplay'],
jobs: [{
company: 'Wayne Inc.',
role: 'CEO'
}]
}
或者会默默地回答400错误,其中包含有关错误的信息。检查文档以进行更高级的使用。
答案 3 :(得分:0)
选择JSON Schema验证规则的人有很多选择。这里有好的libs比较:https://github.com/ebdrup/json-schema-benchmark