在节点和表达中使用表单的好方法

时间:2012-10-04 16:12:01

标签: forms node.js express

成为节点js和express的新手让我想知道完成任务的最佳方法。在处理表单时是否使用了特定的约定?

2 个答案:

答案 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