简体   繁体   English

ReferenceError:未定义expressValidator Express,ejs,Nodejs

[英]ReferenceError: expressValidator is not defined Express , ejs, Nodejs

I am trying to make validation form using Express and node. 我正在尝试使用Express和node制作验证表单。 I am very new to all this and I am getting this error in my console 我对这一切都很陌生,并且在控制台中遇到此错误

ReferenceError: expressValidator is not defined ReferenceError:未定义expressValidator

index.js code 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");
});

In routes folder i have only one js file index.js 在路由文件夹中,我只有一个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
        };

    }
};

When I run the application I got this every time 当我运行应用程序时,每次都会得到

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

Change 更改

app.use(expressValidator());

to

app.use(validator());

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM