Проверка на точную дату, месяц/год в input
Нужно сделать проверку на дату.
Формат даты в input 06/24
Если даты меньше 06/24, я disabled кнопку
В идеале, что бы эта проверка каждый месяц сдвигалась на месяц вперед 07/24, 08/24 и так деле
Перепробовал много вариантов, из-за недостаточного опыта, не выходит
const disableButtonIfDateBeforeJune24 = () => {
const currentDate = new Date();
const june24 = new Date(currentDate.getFullYear(), 5);
return currentDate < june24;
}
и еще много всяких вариантов
Ответы (2 шт):
Автор решения: Aziz Umarov
→ Ссылка
Задача конечно "очень сложная" :) когда посмотришь на решение
Идея бери дату оттуда день сравнивай дни.
Ршение идеального варианта на много проще чем с датами который двигаются.
const disableButtonIfDateBefore24 = () => {
let currentDay = (new Date()).getDay();
return currentDay < 24;
}
console.log(disableButtonIfDateBefore24());
Автор решения: Max
→ Ссылка
Сделал так, работает прекрасно:
const currentYear = (new Date()).getFullYear().toString().slice(-2);
const currentMonth = (new Date()).getMonth().toString().padStart(2, '0');
const checkCurrentDate = (date: string) => {
const [month, year] = date.split('/');
if (!year || !month) return false
if (Number(year) < Number(currentYear)) return false
return !(Number(year) === Number(currentYear) && Number(month) < Number(currentMonth) + 1);
}