TIPCommon.validation
Modul TIPCommon.validation berisi class ParameterValidator, alat penting untuk memastikan integritas data dalam integrasi. Hal ini mengotomatiskan
proses pemeriksaan jenis input, menerapkan batasan (seperti rentang numerik
atau format email), dan menyediakan nilai penggantian yang aman untuk mencegah error
runtime.
Class ParameterValidator
Class ParameterValidator menyediakan antarmuka standar untuk memvalidasi berbagai jenis parameter. Setiap metode menerima nama dan nilai parameter,
serta menampilkan nilai yang divalidasi dalam jenis Python yang sesuai. Jika validasi
gagal dan tidak ada default_value yang diberikan, ParameterValidationError akan
dimunculkan.
Contoh penggunaan
Untuk menggunakan validator, lakukan inisialisasi dengan objek 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')
Validasi numerik dan batas
Metode ini memastikan bahwa input numerik berada dalam batas yang diharapkan dan dikonversi dengan benar ke jenis Python yang sesuai.
| Fungsi | Parameter | Deskripsi & Pengembalian |
|---|---|---|
validate_float() |
|
Hasil: float
Memvalidasi bahwa nilai dapat di-cast ke float. Berguna untuk nilai minimum atau skor probabilitas. |
validate_integer() |
|
Hasil: int
Memvalidasi dan meng-casting nilai ke bilangan bulat. |
validate_range() |
|
Hasil: int
Memastikan bilangan bulat berada dalam rentang inklusif yang ditentukan oleh
|
validate_percentage() |
|
Hasil: int
Memastikan nilai adalah bilangan bulat antara |
validate_non_negative() |
|
Hasil: int
Memastikan nilai adalah bilangan bulat |
validate_non_zero() |
|
Hasil: int
Memastikan nilai adalah bilangan bulat dan tidak sama dengan |
validate_positive() |
|
Hasil: int
Memastikan nilai adalah bilangan bulat |
validate_lower_limit() |
|
Hasil: int
Memastikan nilai |
validate_upper_limit() |
|
Hasil: int
Memastikan nilai |
Struktur data dan validasi string
Metode ini memvalidasi jenis input yang lebih kompleks, seperti string yang dibatasi, objek JSON, dan format tertentu seperti alamat email.
| Fungsi | Parameter | Deskripsi & Pengembalian |
|---|---|---|
validate_csv() |
|
Hasil: list
Memisahkan string menjadi daftar menggunakan pembatas. Jika
|
validate_json() |
|
Hasil: dict | list
Mengurai string menjadi objek JSON. Menampilkan error jika string bukan JSON yang valid. |
validate_email() |
|
Hasil: str
Memvalidasi bahwa string yang diberikan mengikuti format email standar. |
validate_ddl() |
|
Hasil: str
Memvalidasi bahwa input cocok dengan salah satu nilai dalam DDL yang ditentukan. |
validate_severity() |
|
Hasil: int
Memvalidasi input tingkat keparahan platform. Memetakan dengan benar antara label tingkat keparahan standar platform (seperti "Tinggi") dan peringkat bilangan bulat yang setara. |
Konfigurasi validasi global
Setiap metode validasi di class ParameterValidator mendukung argumen kata kunci opsional berikut untuk mengontrol perilaku saat terjadi kegagalan atau untuk proses debug:
default_value: Jika diberikan, nilai ini akan ditampilkan, bukan menampilkanParameterValidationErrorsaat validasi gagal.print_value: (bool) JikaTrue, nilai tidak valid yang menyebabkan kegagalan disertakan dalam pesan log. Nilai defaultnya adalahTrue.print_error: (bool) JikaTrue, pesan pengecualian spesifik disertakan dalam log platform. Nilai defaultnya adalahFalse.