Ich versuche zu validieren, dass die Daten, die ich zurückgegeben habe, es sinnvoll ist. Validieren von Datentypen ist abgeschlossen. Jetzt möchte ich bestätigen, dass ich alle Daten erhalten habe, die zur Ausführung einer Aufgabe benötigt werden.Validierung der referenziellen Integrität von Objekt-Arrays mit Joi
Hier ist ein repräsentatives Beispiel:
{
"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
}
]
}
]
}
}
So jede Sektion Referenzen 0+ Dinge, und ich möchte bestätigen, dass jeder id
Wert im Inhalt der Abschnitte zurück auch als id
in Sachen existiert.
Die Dokumentation für Object.assert(..) bedeutet, dass ich eine konkrete Referenz brauche. Selbst wenn ich die Validierung innerhalb der Object.keys oder Array.items mache, kann ich die Referenz am anderen Ende nicht auflösen.
Nicht, dass es wichtig ist, aber mein Kontext ist, dass ich HTTP-Antworten innerhalb IcedFrisby, einem Frisby.js Fork validiere.