Javascript 仅当父对象存在时才验证嵌套对象
我有一个请求主体,看起来像这样:Javascript 仅当父对象存在时才验证嵌套对象,javascript,node.js,joi,Javascript,Node.js,Joi,我有一个请求主体,看起来像这样: { "folder": { "value": "testFolder", "operator": "=" }, "name": { "value": "5456", "operator": "contains" } } 但请求的主体不是必需的。如果存在主体,如何验证每个对象是否存在值和运算符 编辑: 忘了提到我想使用Joi验证器。我遇到的问题是这样的: body: Joi.object().keys({ $key: Joi.object
{
"folder": { "value": "testFolder", "operator": "=" },
"name": { "value": "5456", "operator": "contains" }
}
但请求的主体不是必需的。如果存在主体
,如何验证每个对象是否存在值
和运算符
编辑:
忘了提到我想使用Joi验证器
。我遇到的问题是这样的:
body: Joi.object().keys({
$key: Joi.object().keys({ <-- since the $key placeholder is unique
value: Joi.string().required(),
operator: Joi.string().required()
})
})
body:Joi.object().keys({
$key:Joi.object().keys({检查主体是否存在(对象,是否为空),如果存在,则开始循环检查其对象(使用比ifs更干净的函数),如果不匹配,则返回false,否则返回true
例如:
在服务器条目中:
if (body && !ifHaveItemValidateBody(body) {
/* do something */
}
检查主体是否存在(对象,是否为空),如果存在,则开始循环检查其对象(使用比ifs更干净的函数),如果不匹配,则返回false,否则返回true
例如:
在服务器条目中:
if (body && !ifHaveItemValidateBody(body) {
/* do something */
}
在对文档和论坛进行进一步挖掘后,此解决方案对我很有用。可能对某人有帮助:
body: Joi.object().pattern(
Joi.string(),
Joi.object().keys({
value: Joi.string().required(),
operator: Joi.string().required()
})
)
在对文档和论坛进行进一步挖掘后,此解决方案对我很有用。可能对某人有帮助:
body: Joi.object().pattern(
Joi.string(),
Joi.object().keys({
value: Joi.string().required(),
operator: Joi.string().required()
})
)
如果您使用的是express,则可以使用express validator。如果您使用的是express,则可以使用express validator。