express-validator校验错误无法在前端模板渲染问题排查
问题根因
validationResult(req) 返回的是 express-validator 内置的 Result 实例对象,并非可直接遍历的错误数组。你返回 JSON 响应时主动调用了 .array() 方法拿到了有效错误数组,但渲染模板时直接传入了完整的 Result 实例,模板引擎无法识别该对象的内部结构,导致无法遍历输出错误信息。
修复步骤
仅需要修改路由中错误分支的传参逻辑,调用 .array() 方法转换为普通数组后再传给模板即可:
if (!errors.isEmpty()) { res.render('dashboard/register', { // 调用.array()获取真实错误数组 errors: errors.array() }); }
现有视图模板的判断、遍历逻辑不需要做任何修改,调整后触发校验规则即可正常展示错误提示。
内容的提问来源于stack exchange,提问作者Ben Bagley
相关产品推荐
相关产品推荐

