Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   classList.remove() не удаляет класс (https://javascript.ru/forum/events/73417-classlist-remove-ne-udalyaet-klass.html)

AnthonyFink 14.04.2018 17:16

Цитата:

Сообщение от AnthonyFink (Сообщение 483249)
большое спасибо. если я ввожу дату 99/99/9999 она впринципи проходит на ура как в regex я ограничеваю дэйс до 31 и месяцы до 12 ?

if (!validateDate()) {
errorMessage.innerText = 'You must write correct date'
errorMessage.classList.remove("error_text");
return false;
}else
// validate future date
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!

var yyyy = today.getFullYear();
if(dd<10){
dd='0'+dd;
}
if(mm<10){
mm='0'+mm;
}
var today = dd+'/'+mm+'/'+yyyy;

if (futureDate < today) {
errorMessage.innerText = 'You must write date in the future'
errorMessage.classList.remove("error_text");
return false;
};
убрал задние числа но как избавиться от 99/99/9999 которое проходит

рони 14.04.2018 18:17

AnthonyFink,
смотрите пост №7 снова

AnthonyFink 14.04.2018 18:51

Цитата:

Сообщение от рони (Сообщение 483257)
AnthonyFink,
смотрите пост №7 снова

Рони тут я уже совсем запутался и прошедшие даты у меня не получается заблокировать и они проходят
function validateDate(date) {
	var str = date.trim().split("/");
    	if (str.length == 3) {
        	str = new Date(str[2], str[1] - 1, str[0], 0, 0, 0);
        if (str == 'Invalid Date') return false;
        	str = [ ("0" + str.getDate()).substr(-2), ("0" + (str.getMonth() + 1)).substr(-2),str.getFullYear()].join("/");
        return str === date.trim()
    }
    return false

вот эта часть кода мне не совсем понятна

И большое спасибо за терпение и объяснение

рони 14.04.2018 18:57

AnthonyFink,
строка 5
if (str == 'Invalid Date' || str.getTime() < (new Date()).getTime()) return false;

AnthonyFink 14.04.2018 19:18

Цитата:

Сообщение от рони (Сообщение 483264)
AnthonyFink,
строка 5
if (str == 'Invalid Date' || str.getTime() < (new Date()).getTime()) return false;

Спасибо большое Рони !!!! Вы Человек с большой буквы =)


Часовой пояс GMT +3, время: 03:42.