如何使用快速验证器排除其他属性?

cod*_*123 10 javascript node.js express express-validator

我正在express-validator我的 Express 应用程序中使用,并且我试图阻止在 POST 请求上指定其他字段。这是因为我将 的值传递req.body给 ORM 以插入到数据库中,并且我希望避免在添加验证器的同时在插入的对象和请求正文之间显式映射。

这可能吗?我似乎在文档中找不到它。使用 JSON Schema 你可以这样做additionalProperties: false

cod*_*123 10

经过更多研究后,我发现可以使用匹配数据 API

在我的快速控制器中我现在可以这样做;

const { matchedData } = require('express-validator');
(req, res) => {
  const matched = matchedData(req, {
    includeOptionals: true,
  });
  db.insert(matched)
  ...
}

Run Code Online (Sandbox Code Playgroud)