繁体   English   中英

有没有办法验证代表 Joi 中嵌套的 object 键的字符串?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM