如何解决NodeJS Joi自定义验证错误消息不起作用
我正在构建NodeJS 12应用程序,并使用@ hapi / joi模块来验证API端点。
"@hapi/joi": "^17.1.1",
验证是对GET请求的URL查询。 “标题”必须是与“有效”值之一匹配的字符串。验证工作正常,但是错误消息必须是自定义错误消息。这是因为有效值列表不应在错误消息中显示,这是默认错误消息提供的内容。默认错误消息必须被覆盖。
我尝试完全从the official documentation on the .error property复制示例,但是出现TypeError。
example.test = {
query: {
title: Joi.string().valid('test1','test2','test3').error((errors) => new Error("Invalid parameters"))
}
}
TypeError: Cannot read property '0' of undefined\n at /home/node/app/node_modules/express-joi-validate/lib/validate.js:28:34\n at Layer.handle [as handle_request] (/home/node/app/node_modules/express/lib/router/layer.js:95:5)\n at next (/home/node/app/node_modules/express/lib/router/route.js:137:13)\n at Route.dispatch (/home/node/app/node_modules/express/lib/router/route.js:112:3)\n at Layer.handle [as handle_request] (/home/node/app/node_modules/express/lib/router/layer.js:95:5)\n at /home/node/app/node_modules/express/lib/router/index.js:281:22\n at Function.process_params (/home/node/app/node_modules/express/lib/router/index.js:335:12)\n at next (/home/node/app/node_modules/express/lib/router/index.js:275:10)\n at Function.handle (/home/node/app/node_modules/express/lib/router/index.js:174:3)\n at router (/home/node/app/node_modules/express/lib/router/index.js:47:12)"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。