【发布时间】:2014-10-08 13:03:47
【问题描述】:
我正在尝试为进入 Hapi 处理程序的 JSON 对象编写 Joi 验证。到目前为止,代码如下所示:
server.route({
method: 'POST',
path: '/converge',
handler: function (request, reply) {
consociator.consociate(request.payload)
.then (function (result) {
reply (200, result);
});
},
config: {
validate: {
payload: {
value: Joi.object().required().keys({ knownid: Joi.object() })
}
}
}
});
到目前为止,您可以在上面的 config: validate: 代码部分中看到 Joi 对象验证。传入的 JSON 如下所示。
"key": '06e5140d-fa4e-4758-8d9d-e707bd19880d-testA',
"value": {
"ids_lot_args": {
"this_id": "stuff",
"otherThign": "more data"
},
"peripheral_data": 'Sample peripheral data of any sort'
}
在上面的这个 JSON 中,对象根部的键和值是必需的,而名为 ids_lot_args 的部分是必需的。以 peripheral_data 开头的部分可能存在或不存在,也可能是任何其他 JSON 有效负载。没关系,只需要根级别的key和value以及value内部的ids_lot_args即可。
到目前为止,我一直在尝试让 Joi 验证正常工作。 关于如何设置的任何想法? 如果您想查看,Joi 的代码库位于https://github.com/hapijs/joi。到目前为止,我一直在尝试允许对象上的所有功能无济于事。
【问题讨论】:
标签: javascript json validation hapijs