没有Hapi的Joi验证

时间:2019-05-24 04:03:30

标签: node.js hapijs joi

我正在使用Joi验证架构,但没有使用Hapi。

我正在编写一个测试用例,其中我的joi模式应返回错误。下面是我的模式

const testSchema = Joi.object().keys({
  name: Joi.string().required(),
  data: Joi.array().min(1).max(8).required(),
});

我当前的有效载荷

const currentPayload = {
  data: ['1', '2'],
};

我的简单验证是

try {
  const result = Joi.validate(currentPayload, testSchema);
} catch (err) {
  console.log(err);
}

现在,此err仅包含一条没有详细信息的罐装邮件。要获取详细消息,我需要按照here

的说明使用failAction

到目前为止,我了解的是failAction是hapi函数,而不是joi。

任何想法如何使详细的错误消息起作用

编辑:

err对象的外观如下

enter image description here

1 个答案:

答案 0 :(得分:0)

这真令人尴尬。如果Joi.validate中提到的架构无效,则会引发此错误。就我而言,它是undefined,因为我从另一个文件中错误地引用了它:(

好消息是我现在知道Joi何时会引发异常:)