将错误消息发送到Node.js中的EJS文件 [英] Send error msg to ejs file in nodejs

查看:53
本文介绍了将错误消息发送到Node.js中的EJS文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个注册表,当用户名存在或电子邮件存在时,我需要发送错误消息:

i have a register form and i need to send the error message when username exist or email exist:

nodejs代码:

app.post('/register', function(req, res) {


  var entity = _.pick(req.body, 'password', 'fullName', 'email', 'userName', 'phone', 'companyName', 'companyWebsite');
  // hash password
  entity.password = bcrypt.hashSync(entity.password, config.SALT_WORK_FACTOR);
  async.waterfall([
    function(cb) {
      if(entity.userName) {

        userService.findByUsername(entity.userName, function(err, user) {
          if(err) {

            cb(err);


          } else if(user) {



            cb(new errors.ValidationError('Cannot create user, userName already exists', httpStatus.BAD_REQUEST));


          } else {


            cb();
          }
        });
      } else {

        cb();
      }
    },
    function(cb) {

      if(entity.email) {

        userService.findByEmail(entity.email, function(err, user) {
          if(err) {

            cb(err);
          } else if(user) {

            cb(new errors.ValidationError('Cannot create user, email already exists', httpStatus.BAD_REQUEST));

          } else {
            cb();
          }
        });
      } else {
        cb();
      }
    },
    function(cb) {

      crud.create(entity, cb);

    },

 ], function(err, createdEntity) {
   data = {
     statusCode: httpStatus.CREATED,
      content: createdEntity
   };

if(err)
{


res.render('register', {user : undefined, success :true,successs :true});

}

else{
res.render('login', {user : undefined, success :true});
}


 });


}); 

我的ejs文件代码为:

me ejs file code is :

     <div class="alert">
  <span class="closebtn" onclick="this.parentElement.style.display='none';">&times;</span> 
  <strong>oops!</strong>Cannot create user, username already exists
</div>


           <div class="alert">
  <span class="closebtn" onclick="this.parentElement.style.display='none';">&times;</span> 
  <strong>oops!</strong>Cannot create user, email already exists
</div>

如何将消息错误传递或发送到ejs文件..消息错误显示在 if(user):cb(new errors.ValidationError('无法创建用户,userName已经存在','httpStatus.BAD_REQUEST));

how can i pass or send the message error to ejs file ..the message error show in nodejs code under if(user):cb(new errors.ValidationError('Cannot create user, userName already exists', httpStatus.BAD_REQUEST));

推荐答案

您可以使用

<%=%>

例如:<%= user%>将打印用户.

for example: <%=user%> will print user.

存在错误对象时,将其作为第三个对象发送到ejs文件并以相同的方式读取它.

When err object exsists send it as third object to the ejs file and read it in the same way.

if(err){
res.render('register', {user : undefined, success :true,successs :true,error: err});
}

和在视图中

<%if(typeof error == "undefined"){%>
        //Show some HTML here
 <% } else { %>
         //Show other html when you send error obejct sent
         <%= error.message%> //For Example
    <%}%>

这篇关于将错误消息发送到Node.js中的EJS文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆