【问题标题】:Joi validator object that contains other objects包含其他对象的 Joi 验证器对象
【发布时间】:2021-04-21 12:05:53
【问题描述】:

我在 req 正文中得到了这种类型的 json:

"customerDetails": {
    "contact": {
        "firstName": "",
        "lastName": "",
    },
    "address": {
        "addressSFID": "",
        "cityAddress": "",
    }

我尝试使用这个架构:

customerDetails: Joi.object({
    contact: Joi.object({
        firstName: validateName(),
        lastName: validateName(),
    }),
    address: Joi.object({
        addressSFID: validateSfid(),
        cityAddress: validateGeneralAddressDetail(),
    })
}),

但它不起作用。没有抛出错误,但它没有按应有的方式验证字段

当它是两个独立的对象时(customerDetails 里面的两个)

我应该使用什么语法?

【问题讨论】:

  • 如果您的问题没有解决,请留言,如果我的回答是真的,请采纳,谢谢
  • 嗨,我最终在代码中犯了一个不同的错误。谢谢你

标签: javascript node.js json joi


【解决方案1】:

如果您只编写一次架构,则无需使用.keys()。当像这样向您的对象添加更多行 (keys) 时使用 .keys() :

Joi.object().keys({
  contact:Joi.object().keys({
        "firstName":Joi.string(),
        "lastName": Joi.string()
  }),
   address:Joi.object().keys({
        "addressSFID":Joi.string(),
        "cityAddress": Joi.string()
  })
})

【讨论】:

    猜你喜欢
    • 2020-11-20
    • 1970-01-01
    • 1970-01-01
    • 2017-08-05
    • 2018-03-20
    • 1970-01-01
    • 1970-01-01
    • 2018-02-27
    • 2021-07-06
    相关资源
    最近更新 更多