当我点击我的注册页面时,我的jade模板(使用Twitter Bootstrap)产生一个空的错误div(即一个带有关闭链接并且没有错误的红色,不透明的框),尽管错误对象返回typeof为'undefined' 。我使用this post作为检查错误值的指导。代码如下:
控制器:
/**
* Show sign up form
*/
exports.signup = function(req, res) {
res.render('users/signup', {
title: 'Sign up',
user: new User()
});
};
Jade模板:
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)
答案 0 :(得分: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
- }