Express.js中的POST数据JSON验证

时间:2012-12-02 08:04:48

标签: json node.js validation rest express

我正在使用Node.js和Express.js编写应用程序。该应用程序有一个(小)REST API,然后是一个Web前端。我使用MongoDb。

对于API,我将POST数据倾向于某个端点,然后进行处理或其他任何操作,并将其转储到数据库中。但是,我有一些我想强制执行的数据库模式。我在POST数据上强制执行特定结构的选项/最佳做法是什么,因此我知道某些字段存在且具有特定类型。

如果可以在中间件级别完成,那将是很好的,但这不是必需的。人们通常会对验证/架构实施做些什么?

2 个答案:

答案 0 :(得分:10)

node-validator正是您要找的。您可以将它用作像这样的独立模块

var check = require('validator').check;

//Validate
check('test@email.com').len(6, 64).isEmail();        //Methods are chainable
check('abc').isInt();                                //Throws 'Invalid integer'

或者您可以使用构建在node-validator之上的express-validator作为中间件。

答案 1 :(得分:1)

以下是各种JSON模式验证器的最新benchmark

此外,对于最佳实践,您可能需要查看JSON-schema,它们尝试布局定义如何定义JSON对象的标准方法。