Dokumentation: Validierungen
Grundkonzept
In Flowy sind Validierungen eine leistungsstarke Funktion, die die Integrität der Daten sicherstellt, die in Ihr System fließen. Sie ermöglichen es, spezifische Einschränkungen und Regeln für Ihre Daten zu definieren, etwa Datentyp, Minimal- und Maximalwerte, Längenvorgaben und mehr.
Validierungen in Flowy sind darauf ausgelegt, die Datenintegrität durchzusetzen, indem sie prüfen, ob die Eingabedaten einem Satz vordefinierter Regeln entsprechen. Es ist jedoch wichtig zu verstehen, wofür sie nicht gedacht sind. Ein zentraler Punkt dabei: Validierungen sind nicht dafür zuständig, Berechtigungen oder den Zugriff auf Daten zu prüfen.
Datenzugriffsberechtigungen betreffen in der Regel die Frage, ob ein Benutzer oder ein System befugt ist, bestimmte Daten anzuzeigen, zu ändern oder zu löschen. Dies ist ein wesentlicher Aspekt der Datensicherheit und wird üblicherweise von einem Zugriffskontrollsystem bzw. -mechanismus verwaltet. So könnte es beispielsweise Regeln geben, nach denen nur Administratoren Benutzerkonten löschen dürfen oder nur der Ersteller eines Datensatzes diesen aktualisieren darf.
Flowy-Validierungen können zwar sicherstellen, dass ein Benutzer eine gültige ID für ein Konto angibt, das er aktualisieren möchte, sie prüfen jedoch nicht, ob dieser Benutzer tatsächlich die Berechtigung hat, dieses Konto zu aktualisieren. Diese Verantwortung liegt beim Autorisierungs- bzw. Zugriffskontrollsystem der Anwendung.
Kurz gesagt: Validierungen sind ein leistungsstarkes Werkzeug, um Datenkonsistenz und -integrität zu gewährleisten, arbeiten aber Hand in Hand mit anderen Mechanismen wie Zugriffskontrollsystemen, um die Datensicherheit insgesamt und das ordnungsgemäße Funktionieren der Anwendung sicherzustellen. Jeder dieser Bausteine hat seine eigene wichtige Rolle und sollte sorgfältig umgesetzt und gepflegt werden.
Datentypen und Regeln
Validierungen unterstützen die folgenden Datentypen:
- Array
- Boolean
- Double
- File JSON
- File XML
- Float
- Integer
- Long
- Number: "Unterstützung" für Integer- und Float-Werte im selben Feld
- Object: ermöglicht den Verweis auf eine andere Validierungsregel
- String
- Timestamp
Abhängig vom Datentyp können zusätzliche Regeln definiert werden:
- Array: Datentyp der Elemente
- File-Datentyp: maximale Größe in Bytes
- Float/Integer/Number: Minimal- und Maximalwerte
- Object: Verweis auf eine Validierungsregel
- String: minimale und maximale Länge sowie Regex
Felder können unabhängig von ihrem Datentyp als erforderlich bzw. verpflichtend festgelegt werden.
Vereinfachen Sie den Validierungsprozess, indem Sie eine oder mehrere Validierungen kombinieren. Mit dieser Funktion werden alle kombinierten Regeln gründlich geprüft.
Vererbung mit dem Datentyp Object
Eine der leistungsstarken Funktionen der Flowy-Validierungen ist die Möglichkeit, mit dem Datentyp Object vererbungsähnliche Strukturen zu erstellen. Das ist besonders nützlich bei komplexen Datenschemata, in denen bestimmte Validierungsregeln von mehreren Arten von Dateneingaben gemeinsam genutzt werden.
Nehmen wir ein Beispiel. Angenommen, wir haben eine einfache Validierungsregel, die "name" und "email" prüft. Diese Regel kann als "Basisregel" betrachtet werden und für verschiedene Entitäten in Ihrer Anwendung verwendet werden, etwa für Benutzer, Unternehmen oder Kontakte.
Nun nehmen wir an, es gibt eine weitere Entität - "employee" -, die alle Attribute eines "user" (also name und email) besitzt, aber zusätzliche Felder wie "employeeId" enthält. Anstatt eine neue Validierungsregel von Grund auf zu erstellen, können Sie eine Validierungsregel "employee" anlegen und die Validierungsregel "user" als "Object" referenzieren. Anschließend müssen Sie nur noch die zusätzlichen Regeln für die "employeeId" ergänzen.
Mit dem Datentyp "Object" können Sie bestehende Validierungsregeln wiederverwenden und erweitern. Das führt zu weniger redundantem Code und einfacherer Wartung. Diese Funktion der Flowy-Validierungen ermöglicht es Ihnen, effizientere, besser organisierte und flexiblere Validierungsschemata zu erstellen.
Häufige Muster
Create und Update
In Flowy-Validierungen gibt es ein sehr verbreitetes Muster, insbesondere bei Create- und Update-Operationen.
Wenn Sie einen neuen Datensatz erstellen, sind in der Regel bestimmte Felder erforderlich. Diese Felder werden bei der Create-Operation definiert und validiert, um sicherzustellen, dass alle notwendigen Daten zum Erstellen eines neuen Datensatzes vorliegen.
Bei der Update-Operation benötigen wir jedoch im Wesentlichen dieselben Informationen. Schließlich aktualisieren Sie wahrscheinlich dieselben Felder, die auch bei der Erstellung verwendet wurden. Es gibt aber einen entscheidenden Unterschied: Um zu wissen, welcher Benutzer aktualisiert werden soll, benötigen wir eine zusätzliche Information - in der Regel eine ID.
Für die Update-Operation enthält Ihre Validierung also alle Felder der Create-Operation sowie das zusätzliche Feld ID. So stellen Sie sicher, dass Sie nicht nur die richtigen Daten zum Aktualisieren eines Datensatzes haben, sondern auch die notwendigen Informationen, um zu identifizieren, welcher Datensatz aktualisiert werden soll.
Dieses Muster ist in vielen Systemen und Operationen verbreitet, nicht nur in Flowy. Es ist eine wirkungsvolle Methode, die Datenintegrität zu gewährleisten und gleichzeitig Code und Validierungen maximal wiederzuverwenden. Wenn Sie dieses Muster verstehen und anwenden, können Sie Ihre Workflow-Automatisierung effizienter und zuverlässiger gestalten.
In Flowy können Sie diesen Prozess vereinfachen, indem Sie Validierungen kombinieren. Sie können alle notwendigen Felder und Werte in einer Create-Validierung definieren, diese in der Update-Validierung wiederverwenden und sie um das notwendige ID-Feld erweitern. Dadurch werden Ihre Validierungen effizienter und leichter zu warten, da Sie dieselben Regeln nicht zweimal definieren müssen.

