不加载“express-validator”:迁移到Express 3
包含“express-validator”的我还没有完成加载的应用程序,显然是我定义,使用或调用的位置是不正确的,正如对此问题的评论中所build议的。
这是我的app.js的一部分,感谢所有的build议:
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) {
…
看看这个用法 , expressValidator
是一个返回中间件函数的函数,所以你需要明确地调用它:
app.use(expressValidator());
- 如何在Express中处理GET参数?
- React / Express – 服务器端渲染如何与我的dynamic页面一起工作
- 在我返回res.end()之后,Promise仍然会进入下一个链。
- 仅使用Express框架对某些URL使用HTTP基本身份validation
- Express – 在中间件function之间传递数据的更好模式
- 需要了解expressjs为什么redirect到index.html
- 如何使用express和handlebar或其他模板引擎在node.js中呈现rest API调用?
- 将一个variables从javascript传递给ejs
- Nodejs Express框架caching