0

当点击我的注册页面时,我的 Jade 模板(使用 Twitter Bootstrap)正在生成一个空的错误 div(即一个带有关闭链接且没有错误的红色不透明框),尽管错误对象返回 typeof 为“未定义”。我使用这篇文章来指导检查错误的价值。代码如下:

控制器:

/**
 * Show sign up form
 */
exports.signup = function(req, res) {
  res.render('users/signup', {
    title: 'Sign up',
    user: new User()
  });
};

翡翠模板:

extends ../layouts/default

block content
  .row
    //-.offset1.span5
    .span6
      a(href="/auth/facebook")
        img(src="/img/icons/facebook.png")
      //- a(href="/auth/github")
        //- img(src="/img/icons/github.png")
      a(href="/auth/twitter")
        img(src="/img/icons/twitter.png")
      a(href="/auth/google")
        img(src="/img/icons/google.png")
    .span6
      if (typeof errors != 'undefined') // The following alert shouldn't be rendered
        .fade.in.alert.alert-block.alert-error
          a.close(data-dismiss="alert", href="javascript:void(0)") x
          ul
            each error in errors
              //- li= error.param
              li= error.msg

      block auth

我尝试了以下方法,但每次都得到相同的结果:

if (typeof errors != 'undefined')
if (typeof errors !== 'undefined')
if (typeof errors != undefined)
if (typeof errors !== undefined)
if (null != errors)
if (null !== errors)
4

1 回答 1

0

编辑:根据您在评论中所说的,errors不是undefined没有错误;相反,它是一个空数组。这个答案现在改为检查。

看到它在某处工作会有所帮助,但是将您的 Jade 代码更改为此可能会解决它:

  - if (errors.length > 0) {// The following alert shouldn't be rendered
    .fade.in.alert.alert-block.alert-error
      a.close(data-dismiss="alert", href="javascript:void(0)") x
      ul
        each error in errors
          //- li= error.param
          li= error.msg
  - }
于 2013-10-28T01:15:46.107 回答