Salut,
Je n'arrive pas a faire apparaitre des messages d'erreurs si il manque des champs ou si un username n'est pas bon, (sachant que sur ma page register les error msg marche) voici mon code :
File qui permet de faire afficher les erreurs : (nodejs)
et ma page html login :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 passport.use(new LocalStrategy( function(username, password, done) { User.getUserByUsername(username, (err, user) => { if(err) throw err; if(!user) { return done(null, false, {message : 'unknown user'}); } User.comparePassword(password, user.password, (err, isMatch) => { if(err) throw err; if(isMatch) { return done(null, user); } else { return done(null, false, {message:'invalid apssword'}); } }) }); })); router.post('/login', passport.authenticate('local', {successRedirect:'/', failureRedirect:'/users/login', badRequestMessage: 'Missing credentials !!' , failureFlash: true}), (req, res) => { res.redirect('/'); })
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 <center> <ul style="list-style-type: none;"> <li> <a style="text-decoration:none;" href="/users/register">Signup</a> <a style="text-decoration:none;" href="/users/login">Login</a> </li> </ul> <h2>Login</h2> {{#if errors}} {{#each errors}} <div>{{msg}}</div> {{/each}} {{/if}} <form method="post" action="/users/login"> <div> <input type="text" name="username" placeholder="Identifiant"> </div> <div> <input type="password" name="password" placeholder="Mot de passe"> </div> <button type="submit">Login</button> </form> </center>
Merci beaucoup à celui qui m'aidera![]()
Partager