Показать сообщение отдельно
  #1 (permalink)  
Старый 23.11.2015, 10:31
Интересующийся
Отправить личное сообщение для xammett Посмотреть профиль Найти все сообщения от xammett
 
Регистрация: 26.11.2012
Сообщений: 13

Js валидация виджета часов в django
Всем привет.
Столкнулся с проблемой валидации введеной даты в встроенный виджет даты django.
Почему-то если валидировать текущий элемент, то нужно выбрать дату 2 раза и только тогда сообщение об ошибки пропадет, я пытался делать раличные паузы, рассчитывая на то, что это поможет. Если при вводе в элемент1 валидировать элемент2, то все работает хорошо. Но почему-то при выборе даты из виджета валидация не успевает.
Я вещаю событие на нажатие по календарю и после этого запускаю валидацию.
Наверное я что-то делаю не так.
Кто-нибудь сталкивался с такой проблемой?
function showError(elem, errorMessage) {
        state = false;
        elem.className = 'error';
        var msgElem = document.createElement('span');
        msgElem.className = "errors";
        msgElem.innerHTML = errorMessage;
        elem.appendChild(msgElem);
    }

    function resetError(elem) {
        elem.className = '';
        if (elem.lastChild.className == "errors") {
            elem.removeChild(elem.lastChild);
        }
    }
    function validate_date(elem){
        resetError(elem.parentNode);
        if (!/^\d{2}.\d{2}.\d{4}$/.test(elem.value)) {
            showError(elem.parentNode, 'Формат даты: 11.05.2015');
        }
        return true;
    }

    e = document.getElementById('id_day_from');
    calen = document.getElementById('calendarbox0');
    calen.onclick = function(){
        validate_date(e);
    }
Ответить с цитированием