Mysql 无法在带有节点express和ejs的html页面上显示由express验证程序生成的错误
我正在使用nodejs、ejs、express和express验证器。我正在尝试在我的注册页面上使用express validator(注册,ejs)。Express validator在对象数组中生成错误。当我在console.log中记录结果(在var错误中)时,我得到:Mysql 无法在带有节点express和ejs的html页面上显示由express验证程序生成的错误,mysql,node.js,express,ejs,express-validator,Mysql,Node.js,Express,Ejs,Express Validator,我正在使用nodejs、ejs、express和express验证器。我正在尝试在我的注册页面上使用express validator(注册,ejs)。Express validator在对象数组中生成错误。当我在console.log中记录结果(在var错误中)时,我得到: formatter:[函数:格式化程序], 错误: [{值:“kl”, msg:“用户名必须介于4到15个字符之间。”, 参数:“用户名”, 位置:'正文'}, {值:“kl”, msg:“密码必须介于8到100个字符之
formatter:[函数:格式化程序],
错误:
[{值:“kl”,
msg:“用户名必须介于4到15个字符之间。”,
参数:“用户名”,
位置:'正文'},
{值:“kl”,
msg:“密码必须介于8到100个字符之间。”,
参数:“密码”,
位置:'正文'},
{值:'klsdflksdf',
msg:'密码必须匹配',
参数:“confirmPassword”,
位置:'body'}]}
检查是否存在任何验证错误的方法应该不同。在这一行代码之后,您不会得到iterable数组
const errors = validationResult(req);
您需要使用isEmpty()
方法检查是否存在错误;和array()。
通常,错误处理程序如下所示:
const errorHandler = (req, res, next) => {
let errors = validationResult(req);
if (!errors.isEmpty()) {
errors = errors.array();
// some other stuff
} else next();
};
来源:检查是否存在任何验证错误的方法应该不同。在这一行代码之后,您不会得到iterable数组
const errors = validationResult(req);
您需要使用isEmpty()
方法检查是否存在错误;和array()。
通常,错误处理程序如下所示:
const errorHandler = (req, res, next) => {
let errors = validationResult(req);
if (!errors.isEmpty()) {
errors = errors.array();
// some other stuff
} else next();
};
来源:只是一个建议<在
中,代码>用于对象属性的迭代,而不是用于数组。对于这个数组。forEach
或For of
更好。只是一个建议<在
中,代码>用于对象属性的迭代,而不是用于数组。对于数组,forEach
或For of
更好。