Pada saat Menggunakan Datepicker dalam pembuatan web, secara default user akan diizinkan untuk memilih tahun yang bahkan belum terjadi, ini menjadi masalah dibeberapa konteks , seperti dalam kasus ini adalah untuk penginputan tahun Angkatan, ataupun dibeberapa kasus lain seperti input tanggal kelahiran atau tanggal akademik.
Code datepicker default :
$('#datepicker').datepicker({
format: "yyyy",
viewMode: "years",
minViewMode: "years",
autoclose: true,
});
Namun, masalah yang muncul dari code default di atas adalah bahwa pengguna dapat memilih tahun yang bahkan belum terjadi, yaitu tahun-tahun di masa depan. hal Ini tidak diinginkan dalam kasus ini , di mana seharusnya pengguna hanya bisa memilih tahun yang sudah lewat atau tahun saat ini.
Jika pengguna bisa memilih tahun di masa depan, maka keaslian data akan terancam, karena tahun yang belum terjadi tidak relevan atau tidak valid, Oleh karena itu, kita perlu membatasi pilihan pada Datepicker agar tahun maksimal yang bisa dipilih adalah tahun saat ini (current year).
Untuk mengatasi masalah ini, kita bisa menambahkan konfigurasi endDate
. Seperti yang saya lakukan berikut:
$('#datepicker').datepicker({
format: "yyyy",
viewMode: "years",
minViewMode: "years",
autoclose: true,
endDate: new Date(),
});
endDate: new Date()
merupakan bentuk Konfigurasi untuk menetapkan batas maksimal pada pilihan Tahun agar pengguna tidak bisa memilih tahun melebihi tahun sekarang. new Date()
akan secara otomatis mengambil tanggal dan tahun saat ini.
Dengan konfigurasi di atas, pengguna hanya bisa memilih tahun dari masa lalu hingga tahun saat ini, sehingga mencegah mereka memilih tahun yang belum terjadi.