Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 创建一个模式,该模式允许任何键,但具有定义的对象值_Javascript_Node.js_Joi - Fatal编程技术网

Javascript 创建一个模式,该模式允许任何键,但具有定义的对象值

Javascript 创建一个模式,该模式允许任何键,但具有定义的对象值,javascript,node.js,joi,Javascript,Node.js,Joi,如果我有这样的数据: params: { fieldOne: { a: 'a1', b: 'b1' }, fieldTwo: { a: 'a2', b: 'b2' } } 我正在尝试编写一个joi模式,该模式将验证params是一个具有任何键的对象,其值作为具有a和b的对象 我正在努力弄清楚如何允许params的值中有任何键,但仍然要验证该值 const schema=joi.object().keys({ 参数:joi.object().req

如果我有这样的数据:

params: {
  fieldOne: {
    a: 'a1',
    b: 'b1'
  },
  fieldTwo: {
    a: 'a2',
    b: 'b2'
  }
}
我正在尝试编写一个joi模式,该模式将验证
params
是一个具有任何键的对象,其值作为具有
a
b
的对象

我正在努力弄清楚如何允许
params
的值中有任何键,但仍然要验证该值

const schema=joi.object().keys({
参数:joi.object().required().keys({
//这里如何允许任何键,但要求值是具有键a和键b的对象?
})
});
您可以使用

为匹配模式的未知键指定验证规则

const schema = joi.object().keys({
    params: joi.object().pattern(
        // this is the 'pattern' of the key name
        // you can also use a regular expression for further refinement
        joi.string(),
        // this is the schema for the key's value
        joi.object().keys({
            a: joi.string().required(),
            b: joi.string().required()
        })
    ).required()
});