Asp.net compare le validateur pour valider la date

Comme vous le savez tous, les validateurs de comparaison peuvent être utilisés pour valider des dates et vérifier en fonction du type d’opérateur (<, = etc). J’ai défini la cultureinvariantvalues="true" pour valider deux contrôles de zone de texte cultureinvariantvalues="true" dates. Je dois les contraindre de manière à ce que la date de début soit antérieure à la date de fin. La validation semble échouer lorsque je tape une date descriptive comme ci-dessous:

 StartDate: Tuesday, 21 February 2012 FinishDate: Wednesday, 22 February 2012 

Même si 22 est supérieur au 21, la validation échoue. Le balisage que j’ai utilisé est ci-dessous. Si, pour une raison quelconque, vous avez besoin d’informations sur le format, il s’agit ici de dddd, dd MMMM yyyy

  

Essayez cette approche, entrez d’abord la date de début et vérifiez le champ de comparaison du validateur avec la date de fin:

  

Le validateur de comparaison a le type = date.Mais ce type de date est contraint de n’accepter que le format de date particulier, à savoir ToShortDateSsortingng (). Si le format de date des deux zones de texte à comparer est dans un autre format tel que ToLongDateSsortingng () ou un format spécifié par ToSsortingng (“jj MMMM, aaaa”), la comparaison ne fonctionne pas. CustomValidator n’est qu’une option. Si vous voulez utiliser le validateur de comparaison seulement, alors

 textstartdate.text=Calendar1.SelectedDate.ToShortDateSsortingng(); textfinishdate=Calendar2.SelectedDate.ToShortDateSsortingng();  

Essayez le Validator personnalisé et, au niveau du code situé derrière l’événement onservervalidate, convertissez le texte en DateTime, puis effectuez la comparaison.

 protected void DateTimeComparision_ServerValidate(object source, ServerValidateEventArgs args) { args.IsValid = Convert.ToDateTime(txtStartDate.Text) < Convert.ToDateTime(txtFinishDate.Text); } 
 function FromAndToDateValidate() { try { var StartDate = new Date(); StartDate = $("#dtpFromDate").val(); var EndDate = new Date(); EndDate = $("#dtpToDate").val(); args.IsValid = (StartDate <= EndDate); } catch (ex) { alert(ex); } }