typescript - Joi 验证自引用嵌套模式

标签 typescript joi

我正在尝试验证一个架构,该架构与其他字段一起具有一系列自引用对象,如下所示:

export const answer = answerModel.concat(Joi.object().keys({
    childAnswers: Joi.array().items(answer),
    numArray: Joi.array().items(Joi.number()).required()
}))

我的问题是我无法在答案模式 Joi.array().items(answer) 中引用答案模式,因为在声明它之前我无法使用它。

问题是“有没有办法在这种嵌套格式中 self 引用以进行验证”?

最佳答案

您可以使用 Joi.link()为此目的:

const person = Joi.object({
  firstName: Joi.string().required(),
  lastName: Joi.string().required(),
  friends: Joi.array().items(Joi.link('#person'))
}).id('person');

关于typescript - Joi 验证自引用嵌套模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60260900/

相关文章:

reactjs - 如何在函数中输入异步获取?

typescript - 如何使用 Apollo Server 测试提供身份验证 token 的 GraphQL 查询?

hapi.js - hapijs joi 验证,验证大于其他属性的总和

javascript - 从 json 或对象中删除空条目

node.js - 将 'this' 传递给构造函数中的类变量

node.js - 如何使用nodejs从joi验证 "number of digits"?

javascript - 如何使用 Joi 验证映射对象(映射键和映射值)

javascript - Joi 验证 2 个输入字段中至少有一个已完成

angular - 类型 'Observable<void>' 不可分配给类型 'Observable<JSON>'

javascript - Hapi/Joi 替代方案何时 - 正则表达式测试