[英]Is there a way to validate dynamic key names in a Joi schema?
Is there a way I can validate a value like this with Joi
so that I can verify it is an object with zero or more keys (of any name) and that each have values of either a string, number or boolean? 有没有办法可以用
Joi
验证这样的值,这样我就可以验证它是一个零或多个键(任何名称)的对象,并且每个都有字符串,数字或布尔值?
{
dynamicallyNamedKey1: 'some value',
dynamicallyNamedKey2: 4
}
You're going to want to use Joi
's object().pattern()
method. 你将要使用
Joi
的object().pattern()
方法。 It's specifically for validating objects with unknown keys. 它专门用于验证具有未知密钥的对象。
To match against one or more datatypes on a single key you'll need alternatives().try()
(or simply pass an array of Joi
types). 要匹配单个键上的一个或多个数据类型,您需要
alternatives().try()
(或简单地传递Joi
类型的数组)。
So the rule to match your needs would be: 因此符合您需求的规则是:
Joi.object().pattern(/^/, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.boolean()))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.