12

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

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

如果这可以在中间件级别完成,那就太好了,但这不是必需的。人们通常为验证/模式执行做什么?

4

2 回答 2

11

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 作为中间件。

于 2012-12-02T09:00:27.653 回答
1

这是各种 JSON 模式验证器的最新基准。

此外,对于最佳实践,您可能需要查看JSON-schema,它试图制定一种定义 JSON 对象应如何定义的标准方法。

于 2015-08-17T22:39:09.640 回答