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