我正在使用Locomotivejs和passportJS对一个项目进行身份验证,我在网上找到了一些处理注册的代码:
AccountController.create = function() {
var account = new Account();
console.log("test");
account.email = this.param('email');
account.password = this.param('password');
account.name.first = this.param('first');
account.name.last = this.param('name.last');
var self = this;
account.save(function (err) {
if (err) {
console.log(err);
return self.redirect(self.urlFor({ action: 'new' }));
}
return self.redirect(self.urlFor({ action: 'login' }));
});
};然而,我不知道如何在页面上显示错误消息,如“用户名已存在”或“密码不匹配”等。我只能将它们放到console.log()中。有人知道我是怎么做到的吗?
发布于 2013-05-10 02:30:28
对于这样的情况,connect-flash非常有用:
// in your app's config:
var flash = require('connect-flash');
...
app.use(flash());
...
// in your #create controller:
if (err) {
req.flash('error', 'YOUR ERROR MESSAGE HERE');
return self.redirect(self.urlFor({ action: 'new' }));
}
// in your #new controller:
res.render('TEMPLATE', { errors: req.flash('error') });在您的模板中,检查errors是否存在(它是一个数组)并呈现消息。
https://stackoverflow.com/questions/16468229
复制相似问题