AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Regeln zur Datenvalidierung sinnvoll formulieren
Thema durchsuchen
Ansicht
Themen-Optionen

Regeln zur Datenvalidierung sinnvoll formulieren

Ein Thema von Caps · begonnen am 21. Aug 2017 · letzter Beitrag vom 23. Aug 2017
 
Caps

Registriert seit: 23. Mär 2006
Ort: Leipzig
299 Beiträge
 
#1

Regeln zur Datenvalidierung sinnvoll formulieren

  Alt 21. Aug 2017, 16:34
Hallöle,

z.Zt. stehe ich vor einem Problem und sehe vllt. die Lösung vor lauter Bäumen nicht, daher meine Frage:

Mein Server bekommt vom Client eine Schlüssel-Wert-Liste zur Verarbeitung.

Diese Liste soll nun mithilfe folgender Vorgehensweise (syntaktisch und inhaltlich) validiert werden:
- Ein Satz von Regeln wird durchlaufen.
- Wenn ein Wert aus der Liste mithilfe einer der Regeln zu valide ausgewertet wurde, so soll dieses Prüfergebnis in einer Lookup-Table gespeichert werden, damit für diesen Wert nicht später nocheinmal die Validierungsregel abgearbeitet werden braucht.


Nun ist aber die Frage, wie ich die Regeln formuliere, insb. um so wenig wie möglich von der Reihenfolge der Abarbeitung der Regeln abhängig zu sein.


Beispiel:

Eingabeliste
a=Max
b=15

Regelsatz
Regel_1 = "Wenn a=Max, dann muss b kleiner als 20 sein."
Regel_2 = "b muss eine Zahl sein."

Hier passiert nun folgendes:
Wenn ich die Regeln in ihrer Formulierungsreihenfolge abarbeite (Regel_1, Regel_2), dann knallt es, falls b keine Zahl sondern z.B. ein String ist. D.h. ich bin von der Reihenfolge der Abarbeitung der Regeln abhängig. Ich müsste Regel_1 also eigentlich umformulieren in "Wenn a=Max, dann muss b eine Zahl sein und kleiner als 20 sein.". Damit habe ich aber eine Redundanz zu Regel_2. Sinnvoller wäre es nun, Regel_2 vor Regel_1 aufzurufen.
Das Blöde ist, dass ich viele komplizierte Regeln habe und sicher den Überblick verlieren werde.
Wie würdet Ihr das lösen?

Danke für Tipps!
lg Caps


ps Ich bin zur Vermeidung von Redundanz darauf gekommen, die Regeln in Minterme zu packen, eine DNF aufzubauen und dann auszuklammern. Das Problem dabei ist aber, dass, wenn sich eine Regel ändert, ich den ganzen Salat ausmultiplizieren und hinterher wieder ausklammern muss.
Die Regeln werden in einer Programmiersprache wie PHP formuliert werden, daher geht vllt. kein Algo zur Schrumpfung logischer Formeln, keine Ahnung... (?)
"Der Mode cmCFS8 ist prohibitär und von mir entwickelt."
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz