Itu tergantung apakah input langsung dari pengguna melalui beberapa UI, atau dari sistem.
Input melalui UI
Ini adalah pertanyaan pengalaman pengguna bagaimana menangani input yang tidak valid. Saya tidak tahu tentang kasus spesifik Anda, tetapi secara umum ada beberapa opsi:
- Peringatkan pengguna terhadap kesalahan dan minta pengguna untuk memperbaikinya sebelum melanjutkan (Paling umum)
- Konversi secara otomatis ke rentang yang valid (jika mungkin), tetapi beri tahu pengguna untuk perubahan dan izinkan pengguna untuk memverifikasi sebelum melanjutkan.
- Konversi secara diam-diam ke rentang yang valid dan lanjutkan.
Pilihannya tergantung pada harapan pengguna Anda dan seberapa penting data tersebut. Misalnya Google secara otomatis memperbaiki ejaan dalam kueri, tetapi ini berisiko rendah karena perubahan yang tidak membantu bukanlah masalah dan mudah diperbaiki (dan bahkan kemudian diperjelas pada halaman hasil bahwa kueri diubah). Di sisi lain, jika Anda memasukkan koordinat untuk rudal nuklir, Anda mungkin menginginkan validasi input yang lebih kaku dan tidak ada perbaikan diam untuk data yang tidak valid. Jadi tidak ada jawaban universal.
Yang paling penting, Anda harus mempertimbangkan apakah mengoreksi input bahkan memiliki manfaat bagi pengguna. Mengapa pengguna memasukkan data yang tidak valid? Sangat mudah untuk melihat bagaimana seseorang mungkin membuat kesalahan ejaan, tetapi mengapa ada orang yang memasukkan garis bujur -185? Jika pengguna benar-benar berarti +175 mereka mungkin akan mengetik +175. Saya pikir kemungkinan besar bahwa garis bujur yang tidak valid hanyalah kesalahan pengetikan, dan pengguna bermaksud -85 atau yang lainnya. Dalam hal ini, konversi secara diam-diam itu buruk dan tidak membantu . Pendekatan yang paling ramah pengguna untuk aplikasi Anda mungkin adalah untuk memperingatkan pengguna untuk nilai yang tidak valid, dan minta pengguna untuk memperbaikinya sendiri.
Input melalui API
Jika input dari sistem atau subsistem lain, tidak ada pertanyaan. Anda harus melempar pengecualian. Anda seharusnya tidak pernah diam mengonversi input yang tidak valid dari sistem lain, karena mungkin menutupi kesalahan di tempat lain dalam sistem. Jika input "dikoreksi" itu harus terjadi di lapisan UI, tidak lebih dalam ke sistem.