JSON Schema Subset: Kenapa Tidak Selalu Butuh Ajv

Untuk validasi UI interaktif, subset kecil JSON Schema menutup sebagian besar kasus. Menarik library penuh menambah bundle tanpa menambah kemampuan yang dipakai.

2026-09-10 · json-schema, validation, schema-lab

JSON Schema penuh itu spesifikasi besar: kombinasi allOf, anyOf, oneOf, not, if/then/else, $ref, format, plus belasan keyword anotasi. Sebagian besar aplikasi tidak pernah menyentuh setengahnya.

Subset yang menutup mayoritas kasus nyata: type, properties, required, items, enum, minimum, maximum, minLength, maxLength, pattern. Itu sekitar sepuluh keyword, dan menulis validatornya beberapa ratus baris, tanpa dependensi.

Alasan subset lebih baik untuk UI interaktif: pesan error bisa dirancang. Validator penuh mengembalikan error dalam formatnya sendiri, yang harus kamu terjemahkan. Validator subset mengembalikan tepat bentuk yang UI-mu butuhkan.

Kapan pindah ke library penuh: begitu kamu butuh $ref lintas dokumen, atau kombinasi boolean schema. Di titik itu kompleksitasnya nyata dan menulis sendiri jadi beban.

Kapan sama sekali tidak butuh schema: kalau tipe datanya sudah tetap dan kamu mengontrol inputnya. Schema berguna ketika bentuk data datang dari luar dan berubah.

← Semua Knowledge