Joi中打印错误信息的优先级

Priority of printing error messages in Joi

我正在尝试使用 Joi 进行验证,我想自定义错误消息。

这是我的验证代码:

count: Joi.number().error(() => 'error message').min(1).required()

当我测试验证时,它显示“"count" 必须大于或等于 1”并且从未显示 "error message"。

我已经将 abortEarly 选项设置为 false,但也没有任何变化。

那么在 Joi 中打印错误消息的优先级是多少?我该如何解决?

谢谢!

您可以尝试将 Error 的实例传递给 .error() 方法。例如:

count: Joi.number().error(new Error("Oh no!")).min(1).required()

但是我认为这将覆盖 count 参数上的所有错误消息,这可能是也可能不是您想要的。 Joi API docs.

中有更详细的示例