2013-06-29 6 views
1

"express-validator"를 포함하여로드하지 않은 응용 프로그램, 주석에서 제안한대로 정의, 사용 또는 호출하는 위치가 올바르지 않습니다. 이 부분은 question입니다."express-validator"가로드되지 않음 : Express 3으로 마이그레이션

var express = require('express') 
    , expressValidator = require('express-validator') 
    , routes = require('./routes') 
    , http = require('http') 
    , path = require('path'); 

...

var app = express(); 

app.set('port', process.env.PORT || port); 
app.set('views', __dirname + '/views'); 
app.engine('.html', require('ejs').renderFile); 
app.set('view engine', 'html'); 
app.use(express.logger('dev')); 
app.use(express.bodyParser()); 

// The problem 
app.use(expressValidator); 

app.use(express.methodOverride()); 
app.use(express.static(path.join(__dirname, 'public'))); 
app.use(express.cookieParser()); 
app.use(express.session({ secret: 'keyboard test' }));  

app.use(function(req, res, next){ 
    var err = req.session.error 
     , msg = req.session.success; 
    delete req.session.error; 
    delete req.session.success; 

    res.locals.message = ''; 
    if (err) res.locals.message = '<p class="msg error">' + err + '</p>'; 
    if (msg) res.locals.message = '<p class="msg success">' + msg + '</p>'; 
    next(); 
});  

app.use(app.router); 

...

app.post('/login', function(req, res){ 
    req.assert('email', 'Range email').len(6, 40); 
    req.assert('password', 'Range password').len(6, 20); 

    var errors = req.onValidationError(); 

    if(errors.length == 0) 
    { 

...

:

이 내 app.js의 일부는 모든 제안을 주셔서 감사합니다

답변

7

usage을 보면, expressValidator는 미들웨어 기능을 반환하는 기능입니다, 그래서 당신은 명시 적으로 호출해야합니다 :

app.use(expressValidator()); 
+0

감사합니다 당신이 아주 많이 @robertklep, 내 실수를 볼 수 없었다. – alditis

관련 문제