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:
|
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 |