2017-12-03 149 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> 
<% } %> 
相關問題