Express-Validierung Fehler mit express-validator

Möchte ich express-validator in meiner app.

Hier ist mein app.js code:

app.set('port', process.env.PORT || 3000);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(express.logger('dev'));
app.use(express.methodOverride());
app.use(app.router);
app.use(express.bodyParser());
app.use(express.urlencoded());
app.use(express.json());
app.use(expressValidator());

Unten ist mein route:

module.exports = function(app) {
    app.post('/login', userController.login);
}

Und hier ist mein code für login:

exports.login = function(req, res, next) {
    req.assert('email', 'Email not valid').isEmail();

    var errors = req.validationErrors();

    if (errors) {
        return res.redirect('/login');
    }

    passport.authenticate('local', function(err, user, info) {
        //do stuff
    })(req, res, next);
};

Wenn ich versuche, etwas zu veröffentlichen, um /login bekam ich folgende Fehlermeldung :

TypeError: Object # <IncomingMessage> has no method 'assert'

Sah ich, dass dies könnte im Zusammenhang mit einem Problem mit der app.verwenden Sie aber bis jetzt bin ich stecken...

EDIT 1 :
Ich mein app.verwenden Sie zu denen, aber es löst nicht mein Problem:

app.use(express.logger('dev'));
app.use(express.methodOverride());
app.use(express.bodyParser());
app.use(express.urlencoded());
app.use(express.json());
app.use(expressValidator());
app.use(app.router);
  • My bad... ich importierte meine route Datei, bevor app.verwenden Sie (), so dass alle middleware-wurden nicht berücksichtigt !
InformationsquelleAutor Alex Grs | 2014-02-17
Schreibe einen Kommentar