简体   繁体   English

仅允许 Joi 模式中键的特定值

[英]Allow only specific values for key in Joi schema

Is there any other way to set specific values in Joi validation schema for key except regex pattern?除了正则表达式模式之外,还有其他方法可以在 Joi 验证模式中为键设置特定值吗?

My example schema:我的示例架构:

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

Is there any other way to set specific values in Joi validation schema for key except regex pattern?除了正则表达式模式以外,还有其他方法可以在Joi验证模式中为密钥设置特定值吗?

My example schema:我的示例架构:

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

Is there any other way to set specific values in Joi validation schema for key except regex pattern?除了正则表达式模式以外,还有其他方法可以在Joi验证模式中为密钥设置特定值吗?

My example schema:我的示例架构:

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

You can try with .valid() to allow joi only with that specific string .您可以尝试使用 .valid() 仅允许使用该特定字符串的 joi 。

const schema = joi.object().keys({
  query: joi.object().keys({
    role: joi.string().valid('admin','student').required(), // joi would allow only if role is admin or student.
  }).required(),
})

This is absolutely equal to giving "enam" field in mongoose ODM for representing objects in mongodb.这绝对等同于在 mongoose ODM 中给出“enam”字段来表示 mongodb 中的对象。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM