J'essaie de valider que les données que je suis retourné sont sensées. La validation des types de données est terminée. Maintenant, je veux valider que j'ai reçu toutes les données nécessaires pour effectuer une tâche.Valider l'intégrité référentielle des tableaux d'objets avec Joi
Voici un exemple représentatif:
{
"things": [
{
"id": "00fb60c7-520e-4228-96c7-13a1f7a82749",
"name": "Thing 1",
"url": "https://lolagons.com"
},
{
"id": "709b85a3-98be-4c02-85a5-e3f007ce4bbf",
"name": "Thing 2",
"url": "https://lolfacts.com"
}
],
"layouts": {
"sections": [
{
"id": "34f10988-bb3d-4c38-86ce-ed819cb6daee",
"name": "Section 1",
"content:" [
{
"type": 2,
"id": "00fb60c7-520e-4228-96c7-13a1f7a82749" //Ref to Thing 1
}
]
}
]
}
}
Ainsi, chaque section: toutes les références 0+, et je veux vérifier que chaque valeur id
retournée dans le contenu des sections existe également un id
dans les choses.
Les documents pour Object.assert(..) impliquent que j'ai besoin d'une référence concrète. Même si je fais la validation dans les objets Object.keys ou Array.items, je ne peux pas résoudre la référence à l'autre extrémité.
Ce n'est pas important, mais mon contexte est que je valide les réponses HTTP au sein de IcedFrisby, une fourchette Frisby.js.