TIPCommon.validation
Il modulo TIPCommon.validation contiene la classe ParameterValidator, uno strumento
fondamentale per garantire l'integrità dei dati all'interno delle integrazioni. Automatizza il
processo di controllo dei tipi di input, applica i vincoli (come intervalli numerici
o formati email) e fornisce valori di riserva sicuri per evitare arresti anomali
del runtime.
Il corso ParameterValidator
La classe ParameterValidator fornisce un'interfaccia standardizzata per la convalida di vari tipi di parametri. Ogni metodo accetta un nome e un valore del parametro,
restituendo il valore convalidato nel tipo Python appropriato. Se la convalida
non va a buon fine e non viene fornito alcun default_value, viene
generato un ParameterValidationError.
Esempio di utilizzo
Per utilizzare lo strumento di convalida, inizializzalo con l'oggetto SDK siemplify:
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')
Convalida numerica e dei limiti
Questi metodi assicurano che gli input numerici rientrino nei limiti previsti e vengano convertiti correttamente nei tipi Python appropriati.
| Funzione | Parametri | Descrizione e resi |
|---|---|---|
validate_float() |
|
Resi: float
Verifica che un valore possa essere convertito in un numero in virgola mobile. Utile per le soglie o i punteggi di probabilità. |
validate_integer() |
|
Resi: int
Convalida e converte un valore in un numero intero. |
validate_range() |
|
Resi: int
Garantisce che un numero intero rientri nell'intervallo inclusivo definito da
|
validate_percentage() |
|
Resi: int
Assicura che il valore sia un numero intero compreso tra |
validate_non_negative() |
|
Resi: int
Assicura che il valore sia un numero intero |
validate_non_zero() |
|
Resi: int
Garantisce che il valore sia un numero intero e non sia uguale a |
validate_positive() |
|
Resi: int
Assicura che il valore sia un numero intero |
validate_lower_limit() |
|
Resi: int
Assicura che il valore sia |
validate_upper_limit() |
|
Resi: int
Assicura che il valore sia |
Struttura dei dati e convalida delle stringhe
Questi metodi convalidano tipi di input più complessi, come stringhe delimitate, oggetti JSON e formati specifici come gli indirizzi email.
| Funzione | Parametri | Descrizione e resi |
|---|---|---|
validate_csv() |
|
Resi: list
Divide una stringa in un elenco utilizzando il delimitatore. Se
viene fornito |
validate_json() |
|
Resi: dict | list
Analizza una stringa in un oggetto JSON. Genera un errore se la stringa non è un JSON valido. |
validate_email() |
|
Resi: str
Convalida che la stringa fornita segua un formato email standard. |
validate_ddl() |
|
Resi: str
Verifica che l'input corrisponda a uno dei valori in un DDL definito. |
validate_severity() |
|
Resi: int
Convalida un input di gravità della piattaforma. Mappa correttamente le etichette di gravità standard della piattaforma (ad esempio "Alta") e i relativi ranghi di numeri interi equivalenti. |
Configurazione della convalida globale
Ogni metodo di convalida nella classe ParameterValidator supporta i seguenti
argomenti delle parole chiave facoltativi per controllare il comportamento in caso di errore o per il debug:
default_value: se fornito, questo valore viene restituito anziché generare unParameterValidationErrorquando la convalida non va a buon fine.print_value: (bool) QuandoTrue, il valore non valido che ha causato l'errore è incluso nel messaggio di log. Il valore predefinito èTrue.print_error: (bool) SeTrue, il messaggio di eccezione specifico è incluso nei log della piattaforma. Il valore predefinito èFalse.