Panduan integrasi
Pemecahan masalah
Diagnosis input, validasi, konfigurasi, dan form bersarang.
| Gejala | Pemeriksaan dan perbaikan |
|---|---|
| Submit tidak berjalan | Bungkus ErlForm dengan HTML form, preventDefault, dan panggil form.handleSubmit |
| Tidak ada validasi | Pasang schema pada validators useForm, bukan hanya prop ErlForm |
| Field tidak muncul | Periksa showIf, fields wizard, serta dukungan jenis schema |
| Input email masih teks | Gunakan z.email(), bukan hanya validasi pada z.string() |
| Nilai select hilang | Nilai tidak lagi terdapat pada options; renderer mengosongkannya |
| Angka kosong gagal validasi | Input menghasilkan undefined; gunakan optional bila diperbolehkan |
| Optional string kosong tetap gagal | String kosong berbeda dari undefined; sesuaikan schema |
| Callback membaca field yang salah | Child menerima induk langsung, bukan selalu nilai root |
| Konfigurasi child saling bertabrakan | Gunakan fieldConfig bersarang dan item, hindari fallback key flat |
| Dua field tidak berdampingan | Masukkan field root ke section sama agar berbagi grid |
| Record kosong | Sediakan key di defaultValues; tidak ada editor key bawaan |
| Error server tidak hilang | Bersihkan key eksplisit dengan array kosong |
| Date bergeser satu hari | Gunakan tanggal lokal untuk z.date(); hindari slice tanggal UTC |
| File tidak terkirim | Kirim File melalui FormData, bukan JSON |
| onBlur tidak berjalan | Renderer native belum meneruskan blur; pakai custom input |
| Next tidak memvalidasi | Tambahkan wizard.validateStep |
| Field tersembunyi menghalangi submit | Sesuaikan schema kondisional dengan showIf/clearOnHide |
Mulai dari Quick Start, kurangi schema menjadi satu field, lalu tambahkan konfigurasi bertahap. Lihat matriks schema untuk batasan 1.0.0 dan laporkan bug bila masalah tetap terjadi.