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?
{
dynamicallyNamedKey1: 'some value',
dynamicallyNamedKey2: 4
}
You're going to want to use
Joi
'sobject().pattern()
method. 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 ofJoi
types).So the rule to match your needs would be: