如何在Express(NodeJS)中验证和处理表单

时间:2011-04-05 16:18:56

标签: forms node.js express

Express是否有首选的表单处理和验证库?

我真的在寻找与Django表单中相似的抽象级别 - 即模板中的验证和错误报告。

如果可以在客户端使用相同的验证,那就太棒了。

有没有人使用或写过任何好的东西?

2 个答案:

答案 0 :(得分:18)

看起来有一个模块位于https://github.com/caolan/forms。我从来没有使用它,但它看起来相当完整。

答案 1 :(得分:7)

这也看起来可行并且仍在开发中:https://github.com/ctavan/express-validator

以下是验证表单提交(登录发布请求)的示例:

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', { err: res.locals.err });
    }

    return;
  }

 //authenticate user, data is valid
};