gpt4 book ai didi

node.js - 当属性不存在时使用 joi TypeError 验证模式

转载 作者:太空宇宙 更新时间:2023-11-04 01:58:38 25 4
gpt4 key购买 nike

我在使用 joi 验证架构时遇到错误

所以我写了这个:

const joiSchema = Joi.object().options({ abortEarly: false }).keys({
stream_name: Joi.string().required(),
audio_bitrate: Joi.number().integer().min(80).required()
...
});

在我的 get 方法中

data.forEach((item) => {
const result = Joi.validate({
stream_name: item.value.name,
audio_bitrate: item.value.stats.media_info.streams[0].bitrate,
},
joiSchema,
(err, val) => {
console.log(err);
});

但是当流不存在时,我会收到 typeError

audio_bitrate: item.value.stats.media_info.streams[0].bitrate, ^

TypeError: Cannot read property 'streams' of undefined

我该如何处理这个问题?如果比特率小于 80,验证工作没有任何问题,但如果比特率不存在,应用程序就会出现异常。

最佳答案

如果您在验证之前访问深层嵌套值,则您有责任检查错误,这里甚至不会调用 joi。

如果您希望 joi 执行此操作,则必须为其提供完整的 item 架构。

关于node.js - 当属性不存在时使用 joi TypeError 验证模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46849868/

25 4 0
文章推荐: python - 尝试求解非线性方程时出错
文章推荐: html - 从子div内部访问父div的宽度
文章推荐: c - 用ctrl+d结束while循环,scanf?
文章推荐: css -