Afficher les messages d'erreur d'un formulaire
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)
Code:
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('/');
}) |
et ma page html login :
Code:
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 ;)