TIPCommon.validation
O módulo TIPCommon.validation contém a classe ParameterValidator, uma ferramenta essencial para garantir a integridade dos dados nas integrações. Ele automatiza o
processo de verificação de tipos de entrada, aplicação de restrições (como intervalos numéricos
ou formatos de e-mail) e fornecimento de valores de substituição seguros para evitar falhas de
execução.
A classe ParameterValidator
A classe ParameterValidator fornece uma interface padronizada para validar vários tipos de parâmetros. Cada método aceita um nome e um valor de parâmetro, retornando o valor validado no tipo Python apropriado. Se a validação falhar e nenhum default_value for fornecido, um ParameterValidationError será gerado.
Exemplo de uso
Para usar o validador, inicialize-o com o objeto do 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')
Validação numérica e de limite
Esses métodos garantem que as entradas numéricas estejam dentro dos limites esperados e sejam convertidas corretamente para os tipos apropriados do Python.
| Função | Parâmetros | Descrição e devoluções |
|---|---|---|
validate_float() |
|
Retorna: float
Valida se um valor pode ser convertido em um ponto flutuante. Útil para limites ou pontuações de probabilidade. |
validate_integer() |
|
Retorna: int
Valida e converte um valor em um número inteiro. |
validate_range() |
|
Retorna: int
Garante que um número inteiro esteja dentro do intervalo inclusivo definido por |
validate_percentage() |
|
Retorna: int
Garante que o valor seja um número inteiro entre |
validate_non_negative() |
|
Retorna: int
Garante que o valor seja um número inteiro |
validate_non_zero() |
|
Retorna: int
Garante que o valor seja um número inteiro e não seja igual a |
validate_positive() |
|
Retorna: int
Garante que o valor seja um número inteiro |
validate_lower_limit() |
|
Retorna: int
Garante que o valor seja |
validate_upper_limit() |
|
Retorna: int
Garante que o valor seja |
Estrutura de dados e validação de strings
Esses métodos validam tipos de entrada mais complexos, como strings delimitadas, objetos JSON e formatos específicos, como endereços de e-mail.
| Função | Parâmetros | Descrição e devoluções |
|---|---|---|
validate_csv() |
|
Retorna: list
Divide uma string em uma lista usando o delimitador. Se |
validate_json() |
|
Retorna: dict | list
Analisa uma string em um objeto JSON. Gera um erro se a string não for um JSON válido. |
validate_email() |
|
Retorna: str
Valida se a string fornecida segue um formato de e-mail padrão. |
validate_ddl() |
|
Retorna: str
Valida se a entrada corresponde a um dos valores em uma DDL definida. |
validate_severity() |
|
Retorna: int
Valida uma entrada de gravidade da plataforma. Mapeia corretamente entre rótulos de gravidade padrão da plataforma (como "Alta") e seus rankings de números inteiros equivalentes. |
Configuração de validação global
Todos os métodos de validação na classe ParameterValidator aceitam os seguintes
argumentos de palavra-chave opcionais para controlar o comportamento em caso de falha ou para depuração:
default_value: se fornecido, esse valor será retornado em vez de gerar umParameterValidationErrorquando a validação falhar.print_value: (bool) quandoTrue, o valor inválido que causou a falha é incluído na mensagem de registro. O padrão éTrue.print_error: (bool) quandoTrue, a mensagem de exceção específica é incluída nos registros da plataforma. O padrão éFalse.