2010-04-16 5 views
1

У меня есть 2 текстовых поля, которые я заполняю StartDate и Endate.
Я хочу использовать compareValidator, чтобы убедиться, что StartDate меньше, чем EndDate. я использовал это:help in compare validate in C#

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

валидатор всегда дает мне отказ, независимо от того, какие даты. если startdate> endate или vise versa, появляется Failed.
Я использую (MM/dd/yyyy) формат в текстовых полях.

EDIT: ok Я решил проблему. если кому интересно здесь новый CompareValidator:

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

если я удалил ErrorMessage то сообщение не будет отображаться на всех .... поэтому не будет происходить никакой проверки! – scatman

ответ

1

Хитрость здесь является ControlToValidate и ControlToCompare.

в вашем случае ControlToValidate должен быть текстовое поле с датой начала, а ControlToCompare должно иметь текстовое поле с конечной датой. иногда люди путают их.

я использовал этот код для проверки

<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> 

я надеюсь, что это помогает