2010-04-16 4 views
1

J'ai 2 boîtes de texte que je remplis avec StartDate, et Endate.
Je veux utiliser le compareValidator pour m'assurer que le StartDate est moins que le EndDate. J'ai utilisé ceci:aider à comparer valider en C#

<asp:CompareValidator ID="Comp" ControlToValidate="txtStartDate" ControlToCompare="txtEndDate" Operator="LessThan" Type="Date" runat="server" Display="dynamic" Text="Failed!" /> 

le validateur me donne toujours échoué quelles que soient les dates. si startdate> endate ou versa versa, Failed apparaît. J'utilise le format (MM/jj/aaaa) dans les zones de texte.

EDIT: ok j'ai résolu le problème. si quelqu'un intéressé ici est le nouveau CompareValidator:

<asp:CompareValidator ID="Comp" ControlToValidate="txtEndDate" ControlToCompare="txtStartDate" Operator="GreaterThan" Type="Date" runat="server" Display="dynamic" Text="Failed!" /> 
+0

si j'enlevé le errorMessage alors aucun message ne sera affiché du tout .... donc pas de validation se produira! – scatman

Répondre

1

L'astuce ici est la ControlToValidate et ControlToCompare. Dans votre cas, ControlToValidate doit être la zone de texte qui a la date de début et ControlToCompare doit avoir la zone de texte qui a la date de fin. parfois les gens les confondent.

i utilisé ce code pour vérifier

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
     <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox> 
     <asp:CompareValidator ID="CompareValidator1" runat="server" 
      ErrorMessage="start date should be less than end date" ControlToCompare="TextBox2" 
      ControlToValidate="TextBox1" Display="Dynamic" Operator="LessThan" Type="Date"></asp:CompareValidator> 

j'espère que cela aide