NodeJS Joi自定义验证错误消息不起作用

时间:2020-08-13 22:50:10

标签: node.js 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)"

0 个答案:

没有答案