这是我的方案。我想验证传入joi validation
的相同密钥但不同数据类型。如何做到这一点:
joi验证
static validateSearchedProduct(request_query) {
const joiSearchedProductSchema = Joi.object({
product_category: Joi.objectId()
})
return Joi.validate(request_query, joiSearchedProductSchema);
}
功能
validateSearchedProduct({product_category:"5d44258bcb9b611da1f658c8"})
validateSearchedProduct({product_category:["5d44258bcb9b611da1f658c8"]})
答案 0 :(得分:0)
因此,您希望product_category
是string
中的array
或strings
。然后,您可以使用here并执行类似的操作:
static validateSearchedProduct(request_query) {
const joiSearchedProductSchema = Joi.object({
product_category: Joi.alternatives().try(
Joi.string(),
Joi.array().items(Joi.string())
)
})
return Joi.validate(request_query, joiSearchedProductSchema);
}
Joi.string()
可以替换为所需的任何内容(例如Joi.objectId
)。