有没有办法验证Joi架构中的动态密钥名称? [英] Is there a way to validate dynamic key names in a Joi schema?
本文介绍了有没有办法验证Joi架构中的动态密钥名称?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有没有办法可以用 Joi
验证这样的值,这样我就可以验证它是一个零或多个键(任何名称)的对象每个都有字符串,数字或布尔值吗?
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
}
推荐答案
你'我想要使用 Joi
的 object()。pattern()
方法。它专门用于验证具有未知密钥的对象。
You're going to want to use Joi
's object().pattern()
method. It's specifically for validating objects with unknown keys.
要匹配单个密钥上的一个或多个数据类型,您需要 alternatives()。try()
(或简单地通过一个 Joi
类型的数组。
To match against one or more datatypes on a single key you'll need alternatives().try()
(or simply pass an array of Joi
types).
因此符合您需求的规则是:
So the rule to match your needs would be:
Joi.object().pattern(/^/, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.boolean()))
这篇关于有没有办法验证Joi架构中的动态密钥名称?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文