express-validator在Express 4中未正确初始化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了express-validator在Express 4中未正确初始化相关的知识,希望对你有一定的参考价值。

[当使用Express 4和Node.js 11启动express-validator 6.3时:

var express = require('express'),
sanitize = require('express-validator'),
app = express()

app.use(express.json())

app.post('/whatever', [
  check('somevariable').escape() // <---keeps saying that check is not defined!? same error if I change "check" to "sanitize"
], (req, res) => 
  console.log(req.body.somevariable);
) 

我一直收到ReferenceError:检查未定义。我在做什么错!!

答案

应该是:

const express = require('express');
const  check  = require('express-validator');
const app = express();
const port = 3000;
app.use(express.json());
app.post('/whatever', [check('somevariable').escape()], (req, res) => 
  console.log(req.body.somevariable);
);

app.listen(3000, () => console.log(`server listen port $port`));

NOT:

const check = require('express-validator');

以上是关于express-validator在Express 4中未正确初始化的主要内容,如果未能解决你的问题,请参考以下文章

如何使用express-validator在单独的文件中实现验证

使用 Express-Validator 验证 POST 参数

如何使用 express-validator 对嵌套对象进行验证

在 joi 和 express-validation 中允许字符串为空或空

使用 express-validator 作为 websockets 的中间件

javascript 使用express-validator的公共验证节点。