Je suis complètement nouveau à angularjs et essayant de valider 2 scénarios. J'ai 2 boîtes de texte une avec date de début et l'autre avec la date de fin. Je vérifie
J'ai essayé le code ci-dessous qui n'a pas fonctionné. Toute suggestion s'il vous plaît. P>
code HTML p> js code p>
4 Réponses :
On dirait que vous référencez Curdate code> non défini. Modifiez le conditionnel au
si (startdate . Voir Fiddle pour un exemple de travail http://jsfiddle.net/4ec3atzk/1/
$scope.checkErr = function(startDate,endDate){
$scope.errMessage = '';
$scope.curDate = new Date();
if (startDate < endDate){
$scope.errMessage = 'End Date should be greate than start date';
return false;
}
if (new Date(startDate) < $scope.curDate){
$scope.errMessage = 'Start date should not be before today.';
return false;
}
};
Vous avez la logique inversée sur le premier bit et vous devez construire une nouvelle date à partir de StartDate pour comparer à la date d'aujourd'hui. De plus, vous avez défini curdate dans la portée, Exemple de travail: http: // jsfiddle. net / pecelm14 / p> p> $ SPANCAT.CURDATE = nouvelle date () code> Mais vous l'avez référencé comme
Curdate code> sans la portée code> Donc, c'était indéfini. Enfin, vous devez lancer
indiquer code> et
enddate code> à une date également. Sinon, vous comparez simplement des chaînes.
Le code est peu différent du violon que vous avez posté. Mais cela a beaucoup aidé. S'il vous plaît synchroniser le code que vous avez affiché et violez afin qu'il soit utile pour tout le monde.
Merci! J'ai oublié de jeter les dates dans le premier bloc IF.
$scope.datepickerObjectfromdates = { todayLabel: 'Today', closeLabel: 'Close', setLabel: 'Ok', setButtonType : 'button-calm', todayButtonType : 'button-calm', closeButtonType : 'button-calm', inputDate: new Date(), mondayFirst: true, templateType: 'popup', showTodayButton: 'true', modalHeaderColor: 'bar-calm', modalFooterColor: 'bar-calm', callback: function (val) { var getdate = GetFormattedFromDates(val); $scope.date.FromDates = getdate; localStorage.date = $scope.FromDates; }, dateFormat: 'MM-dd-yyyy', //Optional closeOnSelect: false, //Optional }; function GetFormattedFromDates(val) { if(typeof(val)==='undefined') { $scope.date.FromDates = ''; } else { var todayTime = new Date(val); var month = todayTime.getMonth() + 1; var day = todayTime.getDate(); if (month < 10) { month = '0' + month; } if (day < 10) { day = '0' + day; } var year = todayTime.getFullYear(); return day + "/" + month + "/" + year; } } $scope.datepickerObjecttodates = { todayLabel: 'Today', closeLabel: 'Close', setLabel: 'Ok', setButtonType : 'button-calm', todayButtonType : 'button-calm', closeButtonType : 'button-calm', inputDate: new Date(), mondayFirst: true, templateType: 'popup', allowOldDates: false, showTodayButton: 'true', modalHeaderColor: 'bar-calm', modalFooterColor: 'bar-calm', callback: function (val) { var getdate = GetFormattedToDates(val); $scope.date.ToDates = getdate; //$scope.date.ToDates = getdate.clear(); }, dateFormat: 'dd-MM-yyyy', //Optional closeOnSelect: false, //Optional }; function GetFormattedToDates(val) { if (typeof(val) === 'undefined') { $scope.ToDates = ''; } else { var todayTime = new Date(val); var month = todayTime.getMonth() + 1; var day = todayTime.getDate(); if (day < 10) { day = '0' + day; } if (month < 10) { month = '0' + month; } var year = todayTime.getFullYear(); return day + "/" + month + "/" + year; } }