В общем я решил задачу тем, что просто устанавливаю значение по умолчанию, при таком раскладе инпут всегда заполнен датой, что позволяет человеку понять что это инпут даты (даже с учётом того, что иконка не во всех браузерах отображается).
Вот пример js, в котором я вычисляю минимальную и максимальную даты от текущей и по умолчанию выставляю минимальную доступную дату:
var minInput = getMinDateForInput();
$("#checkDate").val(minInput);
В моём случае минимальная дата может быть только завтра, но если "завтра" - суббота или воскресенье, то минимальная доступная дата - грядущий понедельник:
function getMinDateForInput() {
var currentDate = new Date();
currentDate.setDate(currentDate.getDate() + 1);
while (currentDate.getDay() === 0 || currentDate.getDay() === 6) {
currentDate.setDate(currentDate.getDate() + 1); // Если да, увеличиваем дату на один день
}
var year = date.getFullYear();
var month = ('0' + (date.getMonth() + 1)).slice(-2);
var day = ('0' + date.getDate()).slice(-2);
var formattedDate = year + '-' + month + '-' + day;
return formattedDate;
}