成为节点js和express的新手让我想知道完成任务的最佳方法。在处理表单时是否使用了特定的约定?
答案 0 :(得分:1)
我使用express-validator来验证输入字段。
以下是一个例子:
app.post('/login', routes.login.post);
//routes/login.js
exports.login.post = function(req, res){
req.assert('username', 'Enter username').notEmpty();
req.assert('password', 'Enter password').notEmpty();
res.locals.err = req.validationErrors(true);
if ( res.locals.err ) {
if ( req.xhr ) {
res.send(401, { err: res.locals.err });
} else {
res.render('login');
}
return;
}
//authenticate and set user in session here
};
答案 1 :(得分:0)
我强烈建议您通过任何类型的XSS攻击或其他进样过滤器传递所有表单的数据。例如,您可以使用node-validator
使用起来相当简单。要过滤XSS注射,只需写:
req.sanitize('textarea').xss();
等。可在此处找到更多文档:node-validator