Validierungsklassen

Mit Validierungsklassen können unterschiedliche Geschäftsregeltypen erzwungen werden. Einige Validierungsklassen können generisch verwendet werden, andere Klassen werden hingegen für bestimmte Zwecke verwendet. Validierungen können aus einer Gruppe vorhandener Validierungsklassen erstellt werden. Viele Geschäftsregeln für Knoten können mit einer Validierungsklasse erzwungen werden, die als Logik eine Abfrage verwendet. Dadurch können Validierungen Abfragen, die zu Analysezwecken erstellt wurden, dazu einsetzen, auch die Datenintegrität zu verwalten. Mit anderen Validierungsklassen können Regeln für Versionen und Hierarchien oder Sonderfälle für Knoten ermöglicht werden. Einige Validierungsklassen werden nur für Produkttests verwendet und sollten nicht in einer Produktionsumgebung eingesetzt werden.

Tabelle 10-1 Validierungsklassen

Validierungsklasse Ebene Beschreibung Parameter

BoolNodeInHier

Node

Stellt sicher, dass die angegebene boolesche Eigenschaft keine "True"-Werte in der angegebenen Hierarchie aufweist

Eigenschaft, Hierarchie

ContainAllProp

Globaler Knoten

Stellt sicher, dass die angegebene Hierarchie alle Knoten enthält, wenn die angegebene Eigenschaft "True" ist

Hierarchie, Eigenschaft

ContainAllWith

Globaler Knoten

Stellt sicher, dass die angegebene Hierarchie alle Knoten enthält, für die die angegebene Eigenschaft den angegebenen Wert aufweist

Hierarchie, Eigenschaft, Wert

CustPropQuery

Node

Überprüft mit vordefinierter Abfrage und erwartetem Ergebnis

Es kann nur eine lokale Eigenschaftsabfrage verwendet werden.

Eigenschaftsabfragename, Fehlerwert

DateRangeCheck

Node

Stellt sicher, dass das Anfangsdatum vor dem Enddatum liegt oder mit diesem übereinstimmt

Eigenschaft "Von Datum", Eigenschaft "Bis Datum"

Formel

Node

Überprüft einen Knoten mit einer in einer Formel ausgedrückten Geschäftslogik. Wenn das Formelergebnis "False" lautet, ist die Validierung nicht erfolgreich.

Formel

GlobalPropQuery

Globaler Knoten

Überprüft mit vordefinierter Abfrage und erwartetem Ergebnis

Eigenschaftsabfragename, Fehlerwert

HierContainsRef

Node

Die Hierarchie enthält einen Verweis auf den Knoten, wenn eine boolesche Eigenschaft "True" ist oder wenn der Knoten ein Blattknoten ist und eine dritte boolesche Eigenschaft "True" ist.

Hierarchiename, boolesche Eigenschaft für alle Knoten, boolesche Eigenschaft für Blattknoten

HierFail

Hierarchie

Erzeugt auf Hierarchieebene zu Testzwecken automatisch Fehler

Kein

InvalidNameLength

Node

Stellt sicher, dass der Knotenname ungleich einer angegebenen Länge ist.

Length

MaxChildren

Version

Stellt sicher, dass die Anzahl untergeordneter Elemente pro Knoten den angegebenen Grenzwert nicht überschreitet

Maximale Anzahl an untergeordneten Elementen

MaxHierNodes

Hierarchie

Stellt sicher, dass die Anzahl an Knoten in der Hierarchie den angegebenen Grenzwert nicht überschreitet

Maximale Anzahl an Knoten

MaxVersionNodes

Version

Stellt sicher, dass die Anzahl an Knoten in der Version den angegebenen Grenzwert nicht überschreitet

Maximale Anzahl an Knoten

MergeEquiv

Zusammenführen

Stellt sicher, dass der betroffene Knoten und der Zusammenführungsknoten denselben Wert für die angegebene Eigenschaft aufweisen

Eigenschaft von globalem Knoten

MergePropSet

Zusammenführen

Stellt sicher, dass der Eigenschaftswert für den Zusammenführungsknoten für die angegebene Eigenschaft festgelegt wird, wenn der Eigenschaftswert des betroffenen Knotens festgelegt (überschrieben) ist (Eigenschaftswerte müssen nicht übereinstimmen)

Property

MixedKids

Node

Prüft auf Knoten mit untergeordneten Ast- und Blattelementen

Kein

NoBoolBranch

Node

Stellt sicher, dass die angegebene boolesche Eigenschaft im angegebenen Zweig mindestens einmal auf "True" gesetzt wird

Property

NodeFail

Globaler Knoten

Erzeugt auf Versionsebene zu Testzwecken automatisch Knotenfehler

Kein

NodeFailRandom

Node

Erzeugt zu Testzwecken automatisch Fehler für den angegebenen Knotenprozentsatz

Fehlerprozentsatz

NoDefaults

Node

Stellt sicher, dass für die angegebene Eigenschaft keine Standardwerte verwendet werden

Property

NoPropBranch

Node

Stellt sicher, dass die angegebene Eigenschaft im angegebenen Zweig mindestens einmal festgelegt wird

Property

PropEquivBool

Node

Eigenschaftsäquivalenz, wenn ein dritter boolescher Eigenschaftswert "True" ist

Zu bewertende boolesche Eigenschaft, erste Eigenschaft, zweite Eigenschaft

PropLength

Node

Stellt sicher, dass die angegebene Eigenschaft mindestens über die Mindestlänge verfügt und nicht größer als die Höchstlänge ist

Eigenschaft, Mindestlänge, Höchstlänge

PropRemove

Entfernen

Verhindert, dass ein Knoten entfernt wird, wenn die angegebenen Eigenschaften (in den Parametern "prop1", "prop2" und prop3") mit den angegebenen Werten (in den Parametern "value1", "value2" und "value3") übereinstimmen

Property1, Property2, Property3, Value1, Value2, Value3

RequiredField

Node

Stellt sicher, dass jede Eigenschaft in der Liste der erforderlichen Elemente für alle Knoten, für die eine angegebene Eigenschaft einen bestimmten Wert hat, über einen Wert verfügt:

  • Wenn die Option "Standarddatensätze ablehnen" auf "True" gesetzt ist, muss jede Eigenschaft in der Liste der erforderlichen Elemente über einen Wert verfügen, der nicht dem Standardwert entspricht.

  • Wenn die Option "Standarddatensätze ablehnen" auf "False" gesetzt ist, können die Standardwerte verwendet werden.

Eigenschaft, Wert, Standarddatensätze ablehnen, Erforderliche Eigenschaften

Skript

Knoten, Hierarchie, Version, Globale Knoten, Verschieben, Entfernen, Zusammenführen

Überprüft Daten mit einem dynamischen Skript. Wird "True" zurückgegeben, ist die Validierung erfolgreich. Wird "False" zurückgegeben, ist die Validierung nicht erfolgreich.

Skript

SingleBoolBranch

Node

Stellt sicher, dass die angegebene boolesche Eigenschaft nur einmal pro Zweig auf "True" gesetzt wird

Property

SinglePropBranch

Node

Stellt sicher, dass die angegebene Eigenschaft nur einmal pro Zweig auf "True" gesetzt wird

Property

StrandedParent

Node

Stellt sicher, dass alle Astknoten über untergeordnete Elemente verfügen

Kein

StrPropEqual

Node

Erzeugt Fehler für alle Knoten, für die die angegebene Eigenschaft mit dem angegebenen Wert übereinstimmt

Eigenschaft, Wert

UniqueProp

Node

Stellt sicher, dass die angegebene Eigenschaft keine doppelten Werte innerhalb einer Hierarchie aufweist.

Wenn "Standardwert einschließen" auf "Falsch" gesetzt ist, werden Knoten mit dem Standardwert nicht eingeschlossen.

Wenn der Parameter für das Ausschließen gemeinsamer Knoten auf "Wahr" gesetzt ist, werden gemeinsame Knoten beim Prüfen der Eindeutigkeit von Eigenschaftswerten nicht berücksichtigt.

Eigenschaft, Standardwert einschließen, Gemeinsame Knoten ausschließen

Es wird empfohlen, dass die "UniqueProp"-Validierung indexierte Eigenschaften verwendet.

UniquePropBranch

Node

Stellt sicher, dass die angegebene Eigenschaft in einem Zweig über einen eindeutigen Wert verfügt

Property

VersionFail

Version

Erzeugt auf Versionsebene zu Testzwecken automatisch Fehler

Kein

VersionUnique2Prop

Globaler Knoten

Stellt sicher, dass angegebene Eigenschaften keine doppelten Werte innerhalb einer Version aufweisen.

Wenn "Standardwert einschließen" auf "Falsch" gesetzt ist, werden Knoten mit dem Standardwert nicht eingeschlossen.

Wenn der Parameter für das Ausschließen gemeinsamer Knoten auf "Wahr" gesetzt ist, werden gemeinsame Knoten beim Prüfen der Eindeutigkeit von Eigenschaftswerten nicht berücksichtigt.

Erste Eigenschaft, zweite Eigenschaft, Standardwert einschließen, Gemeinsame ausschließen

VersionUniqueProp

Globaler Knoten

Stellt sicher, dass die angegebene Eigenschaft keine doppelten Werte innerhalb einer Version aufweist.

Wenn "Standardwert einschließen" auf "Falsch" gesetzt ist, werden Knoten mit dem Standardwert nicht eingeschlossen.

Wenn der Parameter für das Ausschließen gemeinsamer Knoten auf "Wahr" gesetzt ist, werden gemeinsame Knoten beim Prüfen der Eindeutigkeit von Eigenschaftswerten nicht berücksichtigt.

Eigenschaft, Standardwert einschließen, Gemeinsame Knoten ausschließen