【发布时间】:2021-05-03 14:43:20
【问题描述】:
问题
我有一个从 JSON 字符串解析的对象。我想确认它的字段只包含原始类型(例如数字、布尔值、字符串)。具体来说,我想确认所有字段值不是object。
Joi 有not 的概念吗?我可以在不列出所有可能的非对象类型的情况下这样做吗?
尝试
我尝试使用any.disallow,这几乎是我所需要的(并且,我在发布我的问题后意识到,它被列为具有别名not)。
import Joi from 'joi'
const schema = Joi.object().keys({
myKey: Joi.any().not(Joi.object()),
})
但是,这似乎具有价值。这意味着它不会与模式进行比较,并且会认为不是 Joi.object() 返回的文字值的任何值都是有效的。
【问题讨论】: