[英]Is there a way to validate strings that represent nested object keys in Joi?
我正在使用 joi@^17.4.0 并有一个如下所示的架构:
settings: Joi.object({
isHidden: Joi.boolean(),
payoutData: Joi.object({
email: Joi.string().email(),
}),
}),
我想输入字符串'settings.isHidden'
或'settings.payoutData.email'
而不在架构中对这些字符串中的每一个进行硬编码。 有没有一种方法可以让我知道这些字符串基于我已经拥有的 object 模式是有效的? 目前,当我尝试验证这些字符串时,我收到一个验证错误,指出这些键是不允许的。
示例 object 验证:
{ 'settings.isHidden': false }
您的 Joi 架构:
settings: Joi.object({
isHidden: Joi.boolean(),
payoutData: Joi.object({
email: Joi.string().email(),
}),
}),
说settings
(可能是一个对象的属性)是一个 object 有两个属性:
isHidden
,一个 boolean 和payoutData
,一个具有 email 属性的email
,一个字符串你的例子 object
{ 'settings.isHidden': false }
是具有单个属性settings.isHidden
的 object ,因此验证失败。
因此,您的 object 未能针对架构进行验证。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.