【问题标题】:POST Data JSON Validation in Express.jsExpress.js 中的 POST 数据 JSON 验证
【发布时间】:2012-11-19 23:46:00
【问题描述】:

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

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

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

【问题讨论】:

    标签: json node.js validation rest express


    【解决方案1】:

    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'
    

    或者您可以使用构建在节点验证器之上的express-validator 作为中间件。

    【讨论】:

    • node-validator 和 express-validator 都是不错的选择...但是,当前版本的 express-validator 缺乏清理嵌套数据的能力...跨度>
    • JSON 验证也不做。
    【解决方案2】:

    这里是各种 JSON 模式验证器的最新 benchmark

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

    【讨论】:

      猜你喜欢
      • 2013-10-07
      • 2017-08-28
      • 2010-11-15
      • 1970-01-01
      • 2012-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多