Javascript 仅允许Joi架构中键的特定值

Javascript 仅允许Joi架构中键的特定值,javascript,joi,Javascript,Joi,除了正则表达式模式之外,在Joi验证模式中是否还有其他方法为键设置特定值 我的示例模式: const schema = joi.object().keys({ query: joi.object().keys({ // allow only apple and banana id: joi.string().regex(/^(apple|banana)$/).required(), }).required(), }) 您也可以像这样使用valid

除了正则表达式模式之外,在Joi验证模式中是否还有其他方法为键设置特定值

我的示例模式:

const schema = joi.object().keys({
    query: joi.object().keys({
        // allow only apple and banana
        id: joi.string().regex(/^(apple|banana)$/).required(),
    }).required(),
})

您也可以像这样使用
valid

const schema = joi.object().keys({
  query: joi.object().keys({
    // allow only apple and banana
    id: joi.string().valid('apple','banana').required(),
  }).required(),
})

参考资料:

如果您想接受一个或多个值(苹果、香蕉或两者),您可以使用
允许

这是两个值中只允许一个,我们如何使这两个值都允许。如何防止有效负载价格中的价格键:Joi。当('pricing')时,{is:'FIXED',则://禁止在此处添加价格,否则:Joi.number().min(1.max(1000.required()})@tareknoaman首先,这听起来与这个问题无关。但您可能可以省略“then”。如果这不起作用,请提出一个新问题。@Vinodkumararupu您的评论毫无意义。字符串一次只能是一个值。您可能会使用数组或附加键来允许更多值。