TIPCommon.validation

Das Modul TIPCommon.validation enthält die Klasse ParameterValidator, ein wichtiges Tool, um die Datenintegrität in Integrationen zu gewährleisten. Damit wird der Prozess der Überprüfung von Eingabetypen, der Durchsetzung von Einschränkungen (z. B. numerische Bereiche oder E-Mail-Formate) und der Bereitstellung sicherer Fallback-Werte automatisiert, um Laufzeitabstürze zu verhindern.

Die Klasse ParameterValidator

Die Klasse ParameterValidator bietet eine standardisierte Schnittstelle zum Validieren verschiedener Parametertypen. Jede Methode akzeptiert einen Parameternamen und einen Wert und gibt den validierten Wert im entsprechenden Python-Typ zurück. Wenn die Validierung fehlschlägt und kein default_value angegeben ist, wird ein ParameterValidationError ausgelöst.

Verwendungsbeispiel

Um den Validator zu verwenden, initialisieren Sie ihn mit dem siemplify SDK-Objekt:

from TIPCommon.validation import ParameterValidator

# Initialize the validator
validator = ParameterValidator(siemplify)

# Validate and cast strings to specific types
validated_float = validator.validate_float(param_name='Threshold', value='3.7')
validated_int = validator.validate_integer(param_name='Retry Count', value='5')

Numerische Validierung und Grenzwertvalidierung

Diese Methoden sorgen dafür, dass numerische Eingaben innerhalb der erwarteten Grenzen liegen und korrekt in die entsprechenden Python-Typen umgewandelt werden.

Funktion Parameter Beschreibung und Retouren
validate_float()
  • param_name: (str)
  • value: (str | float)
Liefert: float

Validiert, ob ein Wert in einen Gleitkommawert umgewandelt werden kann. Nützlich für Grenzwerte oder Wahrscheinlichkeitswerte.

validate_integer()
  • param_name: (str)
  • value: (str | int)
Liefert: int

Validiert einen Wert und wandelt ihn in eine Ganzzahl um.

validate_range()
  • value: (str | int)
  • min_limit: (int)
  • max_limit: (int)
Liefert: int

Stellt sicher, dass eine Ganzzahl in den inklusiven Bereich fällt, der durch min_limit und max_limit definiert wird.

validate_percentage()
  • value: (str | int)
Liefert: int

Stellt sicher, dass der Wert eine Ganzzahl zwischen 0 und 100 (einschließlich) ist.

validate_non_negative()
  • value: (str | int)
Liefert: int

Stellt sicher, dass der Wert eine Ganzzahl ≥ 0 ist.

validate_non_zero()
  • value: (str | int)
Liefert: int

Prüft, ob der Wert eine Ganzzahl und nicht gleich 0 ist.

validate_positive()
  • value: (str | int)
Liefert: int

Stellt sicher, dass der Wert eine Ganzzahl > 0 ist.

validate_lower_limit()
  • value: (str | int)
  • limit: (int)
Liefert: int

Stellt sicher, dass der Wert der angegebenen limit ist.

validate_upper_limit()
  • value: (str | int)
  • limit: (int)
Liefert: int

Stellt sicher, dass der Wert der angegebenen limit ist.

Datenstruktur und String-Validierung

Mit diesen Methoden werden komplexere Eingabetypen wie Strings mit Trennzeichen, JSON-Objekte und bestimmte Formate wie E-Mail-Adressen validiert.

Funktion Parameter Beschreibung und Retouren
validate_csv()
  • csv_string: (str)
  • delimiter: (str) Der Standardwert ist ', '.
  • possible_values: (Liste) Optionale Whitelist.
Liefert: list

Teilt einen String anhand des Trennzeichens in eine Liste auf. Wenn possible_values angegeben ist, wird jedes Element anhand dieser Liste validiert.

validate_json()
  • json_string: (str)
  • **kwargs: Pass-through für json.loads().
Liefert: dict | list

Parst einen String in ein JSON-Objekt. Löst einen Fehler aus, wenn der String kein gültiges JSON ist.

validate_email()
  • email: (str)
Liefert: str

Prüft, ob der angegebene String einem Standard-E-Mail-Format entspricht.

validate_ddl()
  • value: (str)
  • ddl_values: (Liste) Weiße Liste gültiger Werte.
  • case_sensitive: (bool) Der Standardwert ist False.
Liefert: str

Prüft, ob die Eingabe mit einem der Werte in einer definierten DDL übereinstimmt.

validate_severity()
  • severity: (str | int)
  • possible_values: (Liste)
Liefert: int

Validiert eine Eingabe für den Schweregrad auf der Plattform. Die Zuordnung zwischen plattformüblichen Schweregradlabels (z. B. „Hoch“) und den entsprechenden Ganzzahlrängen erfolgt korrekt.

Globale Konfiguration für die Validierung

Jede Validierungsmethode in der Klasse ParameterValidator unterstützt die folgenden optionalen Schlüsselwortargumente, um das Verhalten bei einem Fehler zu steuern oder Fehler zu beheben:

  • default_value: Wenn dieser Wert angegeben ist, wird er zurückgegeben, anstatt bei einem Validierungsfehler eine ParameterValidationError auszulösen.

  • print_value: (bool) Wenn True, wird der ungültige Wert, der den Fehler verursacht hat, in die Log-Nachricht aufgenommen. Die Standardeinstellung ist True.

  • print_error: (boolesch) Wenn True, wird die spezifische Fehlermeldung in die Plattformlogs aufgenommen. Die Standardeinstellung ist False.