Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ReferenceError:未定义expressValidator Express、ejs、Nodejs_Javascript_Node.js_Express_Ejs - Fatal编程技术网

Javascript ReferenceError:未定义expressValidator Express、ejs、Nodejs

Javascript ReferenceError:未定义expressValidator Express、ejs、Nodejs,javascript,node.js,express,ejs,Javascript,Node.js,Express,Ejs,我正在尝试使用Express和node制作验证表单。我对这一切都很陌生,我的控制台中出现了这个错误 ReferenceError:未定义expressValidator index.js代码 var express = require('express'), bodyParser = require('body-parser'), validator = require('express-validator'), routes = require('./routes'), path =

我正在尝试使用Express和node制作验证表单。我对这一切都很陌生,我的控制台中出现了这个错误

ReferenceError:未定义expressValidator

index.js代码

var express = require('express'),
 bodyParser = require('body-parser'),
 validator = require('express-validator'),
 routes = require('./routes'),
 path = require('path'),
 ejs = require('ejs'),
 app = express();

app.use(bodyParser.urlencoded({ extended: true })); 
app.use(bodyParser.json());

app.use(expressValidator());

//post
app.post('/signup', routes.registerUser);
app.set('views', __dirname + '/views');

app.set('view engine', 'ejs');
app.set('view options', {layout: false});


//get
app.get('/', routes.index);
app.get('/signup', routes.signup);
app.get('/login', routes.login);

app.listen(3000,function(){
  console.log("Server running at Port 3000");
});
在routes文件夹中,我只有一个js文件index.js

exports.index = function(req, res){
  res.render('index');
};
exports.signup = function(req, res){
  res.render('signup');
};
exports.login = function(req, res){
  res.render('index');
};

exports.registerUser = function(req, res){
    req.check('uname', 'Username is required').notEmpty();
    req.check('fname', 'First name is required').notEmpty();
    req.check('lname', 'Last name is required').notEmpty();
    req.check('email', 'Email is required').notEmpty();
    req.check('mob', 'Mobile Number is required').notEmpty();
    req.check('add', 'Address is required').notEmpty();
    req.check('city', 'City is required').notEmpty();
    req.check('url', 'URL is required').notEmpty();
    req.check('pcode', 'PIN code is required').notEmpty();
    req.check('password', 'Password is required').notEmpty();

    var errors = req.validationErrors();

    if(errors){
        console.log("There may be errors");
        res.redirect('signup');
    }else{
        var uname = req.body.uname;
        var user = {
            'fname' : req.body.uname,
            'lname' : req.body.lname,
            'email' : req.body.email,
            'mob' : req.body.mob,
            'add' : req.body.add,
            'url' : req.body.url,
            'pcode' : req.body.pcode,
            'password' : req.body.password
        };

    }
};
当我运行应用程序时,每次都会收到这个消息

app.use(expressValidator()); ^ ReferenceError:未定义expressValidator

改变


你能告诉我为什么
app.use(expressValidator())它不起作用。因为您没有定义expressValidator,所以您将expressValidator作为validator而不是expressValidator导入:
validator=require('express-validator')
var errors=req.validationErrors()这行有什么问题吗?我收到错误
console.log(“可能有错误”)。在填写表格时,我要确保并没有字段是空的。尽量不要一次检查这么多字段。首先测试一个,然后尝试console.log(错误)以查看问题的具体内容。客户端可能存在问题。您使用表单提交还是ajax post?您可以使用postman先调试服务器端,然后修复客户端。当您调试客户端时,请使用chrome dev工具或类似工具在网络中查找post请求,并检查是否已成功附加参数。
app.use(expressValidator());
app.use(validator());