Express 如何检查对象中的键是否具有特定值?

Express 如何检查对象中的键是否具有特定值?,express,joi,Express,Joi,我正在使用Joi验证我的模式。我想检查该模式中的键是否有某个值 例如,我有这个模式 我希望它只有在任何一个键的值为true时才有效。因此,如果用户为所有属性提供false,那么它应该是无效的 Joi有这个属性,我可以附加它来根据提供的值添加验证,但我不确定是否可以在我的案例中使用它。正在查找 定义键之间的关系,其中需要一个对等点(并且允许多个对等点),其中: 对等方-必须至少出现一个密钥名 选项-可选设置: 分隔符-覆盖默认值。层次分隔符。设置为false以将键视为文字值 在找什么 定

我正在使用Joi验证我的模式。我想检查该模式中的键是否有某个值

例如,我有这个模式

我希望它只有在任何一个键的值为true时才有效。因此,如果用户为所有属性提供false,那么它应该是无效的

Joi有这个属性,我可以附加它来根据提供的值添加验证,但我不确定是否可以在我的案例中使用它。

正在查找

定义键之间的关系,其中需要一个对等点(并且允许多个对等点),其中:

  • 对等方
    -必须至少出现一个密钥名
  • 选项
    -可选设置:
    • 分隔符
      -覆盖默认值。层次分隔符。设置为
      false
      以将
      视为文字值

在找什么

定义键之间的关系,其中需要一个对等点(并且允许多个对等点),其中:

  • 对等方
    -必须至少出现一个密钥名
  • 选项
    -可选设置:
    • 分隔符
      -覆盖默认值。层次分隔符。设置为
      false
      以将
      视为文字值

或者仅检查给定属性之一是否存在。我想要的是检查它们中是否至少有一个具有真实值。我不确定您是否正确理解了我的问题,但我希望用户在提交表单时提供至少一种停车类型,或者只检查给定的属性是否存在。我想要的是检查它们中是否至少有一个具有真实值。我不确定您是否正确理解了我的问题,但我希望用户在提交表单时提供至少一种停车类型
parking: Joi.object({
 twoWheelers: Joi.boolean(),
 fourWheelers: Joi.boolean(),
 handicapped: Joi.boolean(),
})
const schema = Joi.object({
    parking: Joi.object({
        twoWheelers: Joi.boolean(),
        fourWheelers: Joi.boolean(),
        handicapped: Joi.boolean(),
    }).or('twoWheelers', 'fourWheelers', 'handicapped').invalid(false)
      // or without invalid
      //.or('twoWheelers', 'fourWheelers', 'handicapped')
    smackMyPinchUp: Joi.any()
});