我正在为我的 HTTP 请求使用 Joi 验证器。我有一个名为 type
的参数。我需要确保参数的可能值是“ios”或“android”。
我怎样才能做到这一点?
body : {
device_key : joi.string().required(),
type : joi.string().required()
}
原文由 Eranga Kapukotuwa 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在为我的 HTTP 请求使用 Joi 验证器。我有一个名为 type
的参数。我需要确保参数的可能值是“ios”或“android”。
我怎样才能做到这一点?
body : {
device_key : joi.string().required(),
type : joi.string().required()
}
原文由 Eranga Kapukotuwa 发布,翻译遵循 CC BY-SA 4.0 许可协议
也许它对任何想要根据现有枚举/值数组检查值的人都有用。
const SomeEnumType = { TypeA: 'A', TypeB: 'B' };
然后就用这个:
const schema = Joi.object().keys({
type: Joi.string().valid(...Object.values(SomeEnumType)),
});
const myObj = { type: 'none' };
const result = Joi.validate(myObj, schema);
原文由 Max Podriezov 发布,翻译遵循 CC BY-SA 4.0 许可协议
5 回答4.8k 阅读✓ 已解决
4 回答2.5k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
3 回答2k 阅读
5 回答1.9k 阅读
您可以使用
valid
。这给出了一个错误
ValidationError: child "type" fails because ["type" must be one of [ios, android]]