我正在使用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
对象的外观如下
答案 0 :(得分:0)
这真令人尴尬。如果Joi.validate
中提到的架构无效,则会引发此错误。就我而言,它是undefined
,因为我从另一个文件中错误地引用了它:(
好消息是我现在知道Joi何时会引发异常:)