La Date de validation de la saisie à l'aide de ng-changement, AngularJS

Je l'utilise, AngularJS et Bootstrap, AngularJS dans ma page. J'ai un sélecteur de date directive qui ressemble à ceci:

    <div class="form-group {{dateStatus.class}}">
        <p class="input-group">
            <input type="text" id="inpDate" class="form-control" 
                   datepicker-popup="dd-MMMM-yyyy" ng-model="task.date" 
                   is-open="datePickerStatus.isOpen" min-date="minDate" 
                   datepicker-options="dateOptions" ng-required="true" 
                   close-text="Close" placeholder="Due date" 
                   ng-change="checkDateValidity()"
            />
            <span class="input-group-btn">
                <button type="button" class="btn btn-default" 
                        ng-click="openDatePicker($event)"
                >
                    <i class="glyphicon glyphicon-calendar"></i>
                </button>
            </span>
        </p>
    </div>

Pour valider la date d'entrée, dans mon contrôleur, j'ai la fonction suivante:

        $scope.checkDateValidity = function(){
        var date,
            isValid,
            taskDate;
        taskDate = $scope.task.date;
        date = new Date(taskDate);
        isValid = !isNaN(date);
        if(isValid) {
            $scope.addButtonState.isOk = true;
            $scope.dateStatus.class = '';
        }
        else{
            $scope.addButtonState.isOk = false;
            $scope.dateStatus.class = 'has-error';
        }
    }

tout fonctionne bien pour vérifier si la date inscrite est valide, mais le problème est que lorsque la date d'entrée est vide(ou modifié à partir d'un état valide à vide)
Je veux qu'il soit acceptable, mais depuis que les deux vides d'entrée et date non valide sont undefinedje ne sais pas comment déclarer entre les cas.

J'ai aussi pensé à la lecture du texte d'entrée directement comme ceci:

document.getElementById('inpDate').value

mais la ng-le changement est déclenché lorsque la valeur est changé et je suis parti avec la valeur précédente qui est inutile maintenant...

merci pour votre temps et votre réponse.

OriginalL'auteur Reza Shayestehpour | 2014-05-11