0

Express〜3.0.0rc3でNode v0.8.8を使用する(記録のために、ここに私のpackages.jsonのコンテンツがあります):

{
  "name": "application-name",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node app"
  },
  "dependencies": {
    "express": "~3.0.0rc3",
    "jade": "*",
    "ejs": "~0.8.2",
    "express-partials": "0.0.5",
    "connect-flash": "~0.1.0",
    "connect-redis": "~1.4.1",
    "validator": "~0.4.11",
    "express-validator": "~0.2.4",
    "express-form": "~0.6.2"
  }
}

また、ログインフォームを検証するためにPOSTを実行しようとすると、次のエラーが発生します。

TypeError: Object #<ServerResponse> has no method 'local'
    at /Users/nblavoie/Documents/projets/erphdfnode/node_modules/express-form/lib/form.js:32:15
    at callbacks (/Users/nblavoie/Documents/projets/erphdfnode/node_modules/express/lib/router/index.js:165:11)
    at param...

コントローラに問題がありますか?コードは次のとおりです。

var routes = function(app)
{
    var form = require("express-form"),
        field = form.field;

    app.post("/login",
        form(
            field("courriel").trim().isEmail(),
            field("password").trim().notEmpty()
        ),
        function(req, res)
        {
            if (!req.form.isValid) {
                renderLogin("Courriel ou de mot de passe incorrect.", req);
            } else {
                console.log("OK!!!!!");
            }
        }
    );
};
4

1 に答える 1

0

express-formexpress3.0をサポートしていません。

詳細については、この問題を確認してください。

于 2012-08-29T07:57:56.120 に答える