来自表单的错误消息不出现NodeJS

时间:2019-02-01 22:53:26

标签: node.js passport.js

错误出现在注册页面上(密码不匹配,用户名字段为空,等等...)

但是当我也要在登录页面中出现错误(用户名无效...等)时,没有显示任何消息

我的登录页面的一部分

p class="title">Login</p>
{{#if errors}}
    {{#each errors}}
        <div>{{msg}}</div>
    {{/each}}
{{/if}}
<form method="post" action="/users/login">
    <div>  
        <input type="text" class="form-control" name="username" placeholder="Identifiant">
    </div>
    <div>
        <input type="password" class="form-control" name="password" placeholder="Mot de passe">
    </div>
    <button type="submit">Login</button>

我的users.js文件(不完整)

passport.use(new LocalStrategy(
    function(username, password, done) {
      User.findOne({ username: username }, function (err, user) {
        if (err) { return done(err); }
        if (!user) {
          return done(null, false, { message: 'Incorrect username.' });
        }
        if (!user.validPassword(password)) {
          return done(null, false, { message: 'Incorrect password.' });
        }
        return done(null, user);
      });
    }
  ));

p class="title">Login</p>
{{#if errors}}
    {{#each errors}}
        <div>{{msg}}</div>
    {{/each}}
{{/if}}
<form method="post" action="/users/login">
    <div>  
        <input type="text" class="form-control" name="username" placeholder="Identifiant">
    </div>
    <div>
        <input type="password" class="form-control" name="password" placeholder="Mot de passe">
    </div>
    <button type="submit">Login</button>

0 个答案:

没有答案