我一直在使用expressjs开发应用程序,但是在使用express-validator V4时出现错误。错误是:
TypeError: check is not a function

所以我的代码看起来像这样:

//users.js
var check  = require('express-validator/check');
var validationResult = require('express-validator/check');

router.post('/register',[
    check('name').exists()
], function(req, res){
    var errors = validationResult(req);
    if(errors){
        console.log('There are errors');
    }else{
        console.log('No errors');
    };
});

module.exports = function(app){
    app.use('/users', router);
};


请注意,我使用的是纯JavaScript,没有ES6。
谢谢。

最佳答案

express-validator包含ES6,并且支持Node 6+。
如评论中所述,您使用的是Node 8.4.0,那么您对此很满意。

您导入的功能不正确,因为必须从默认导出中绑定功能。或使用解构,这很酷:

const { check, validationResult } = require('express-validator/check');

// or:

const check = require('express-validator/check').check;
const validationResult = require('express-validator/check').validationResult;


另外,请记住检查usage section :)

关于node.js - 未在使用路由V4的express-validator上定义检查,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46515854/

10-13 05:32