2017-12-03 153 views
1

我希望在我的日志形式显示一个提示信息,这就是当用户给出了形式错误的凭证,但我不知道从哪里开始加入flash上​​午困惑了一下。请各位帮忙。如何添加登录错误提示信息护照JS

app.post('/login',passport.authenticate("local", { 
successRedirect: "/", 
failureRedirect: "/login" 
}), function(req, res){ 
req.flash('error', err.message) 
}) 

我仍然喜欢它从窗体显示错误。是新来这个任何 帮助

req.flash('error', err.message) 

回答

0

你应该设置你的消息res.locals这样

req.flash('error', 'This is an error message'); 
res.locals.message = req.flash(); 

然后你就可以向他们展示在你的HTML像

<div class="error-message"> 
    <strong> <%=message.message%> </strong> 
</div> 

我希望它会帮你。

+0

我知道如何设置它,但我的困惑是将它添加到登录前重新导向回来,以便闪光灯将显示@Nikunj Sardhara –

1

使用此代码在服务器端:

var passport = require('passport');  
    var flash = require('connect-flash'); 
    app.use(flash()); 
    app.use(function(req, res, next) { 
     res.locals.success_msg = req.flash('success_msg'); 
     res.locals.error_msg = req.flash('error_msg'); 
     res.locals.error = req.flash('error'); 
     next(); 
    }); 

在那里你可以在你的passport.js添加消息被弹出如下:

req.flash('error_msg', 'That email is already taken.'); 
req.flash('success_msg', 'This is successfull'); 

,并在您的前端代码(按你的语言。我使用前端模板的车把)显示您的警报消息:

{{#if success_msg}} 
     <div class="alert alert-success">{{success_msg}}</div> 
    {{/if}} 
    {{#if error_msg}} 
     <div class="alert alert-danger">{{error_msg}}</div> 
    {{/if}} 
    {{#if error}} 
     <div class="alert alert-danger">{{error}}</div> 
    {{/if}} 
+0

设置它不是一个问题,但它添加到登录帖子@HOTAM SINGH –

0

in logi n您需要failureFlash的代码:真实的,并将其设置为true

app.use(function(req,res,next){ 
    res.locals.error = req.flash("error"); 
    res.locals.success = req.flash("success") 
    next(); 
}) 

app.post("/dashlogin", passport.authenticate("local", { 
    successRedirect: "/dashboard", 
    failureRedirect: "/dashboard/login", 
    failureFlash: true, 
}), function(req,res){ 

}) 

然后闪到用户它在页面

<% if(error && error.length > 0) { %> 
    <div class="alert alert-danger" role="alert"> 
     <div class="container"> 
      <%= error %> 
     </div> 
    </div> 
<% } %> 
相关问题