0

ユーザーが日付を選択し、必要なフィールドバリデーターを設定するためのテキストボックスを作成します。

<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
    ControlToValidate="StartDate" ErrorMessage="RequiredFieldValidator" 
    ValidationGroup="Search" SetFocusOnError="True" Display="Dynamic" 
    ToolTip="*Fill START Date!">*Fill START Date!</asp:RequiredFieldValidator>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" 
    ControlToValidate="EndDate" ErrorMessage="RequiredFieldValidator" 
    ValidationGroup="Search" Display="Dynamic" ToolTip="*Fill END Date!">*Fill END  Date!</asp:RequiredFieldValidator>

<asp:Label ID="DateFilter" runat="server" 
    Text="Filter by Date from :" style="font-family: 'Arial Narrow'" 
    AssociatedControlID="StartDate"></asp:Label>
<asp:TextBox ID="StartDate" runat="server" ></asp:TextBox>
<a href="javascript:;" onclick="window.open('CalendarPopup.aspx?textbox=StartDate','cal','width=220,height=205,left=270,top=180')"><img id="Img1" 
    src="calendar-icon.gif"  border="0" runat="server" alt="calendar" 
    style="height: 23px" align="bottom"></a>

 <asp:Label ID="Label4" runat="server" Text="to" Font-Names="Arial Narrow" 
     AssociatedControlID="EndDate"></asp:Label>
 <asp:TextBox ID="EndDate" runat="server"></asp:TextBox>
 <a href="javascript:;" onclick="window.open('CalendarPopup.aspx?textbox=EndDate','cal','width=220,height=205,left=270,top=180')"><img id="Img2" 
    src="calendar-icon.gif" border="0" runat="server" alt="calendar" 
    style="height: 23px" dir="ltr"></a>&nbsp;
<asp:Button 
    ID="Search" runat="server" BackColor="Black" Font-Names="Arial Narrow" 
    ForeColor="White" Text="SEARCH" Width="73px" onclick="Search_Click" />

次に、Compare Validator を使用して、最初の日付が 2 番目の日付よりも前でなければならないことを比較する必要があります。

<asp:CompareValidator ID="CompareValidator1" runat="server" 
    ControlToCompare="EndDate" ControlToValidate="StartDate" 
    ErrorMessage="CompareValidator" Operator="GreaterThanEqual" Type="Date" 
    ValidationGroup="Search" Display="Dynamic" SetFocusOnError="True">*First date must be less than or equal to Second 
date!</asp:CompareValidator>

両方のバリデーターが機能していません。どなたか、お力添えをお願いいたします。ありがとう..:)

4

1 に答える 1

2

更新、私は前にそれを見ませんでした、しかしあなたはボタンをあなたのバリデーターと同じ検証グループの一部にする必要があります。これを試して:

<asp:Button ValidationGroup="Search"
    ID="Search" runat="server" BackColor="Black" Font-Names="Arial Narrow" 
    ForeColor="White" Text="SEARCH" Width="73px" onclick="Search_Click" />

ああ、ControlToValidateはControlToCompareに対して評価されるプライマリ値であるため、ControlToValidateはLessThan ControlToCompare = StartDate is LessThan EndDateであるため、前述した他の論理演算子が必要になると確信しています。

<asp:CompareValidator ID="CompareValidator1" runat="server"
    ControlToCompare="EndDate" ControlToValidate="StartDate" 
    ErrorMessage="CompareValidator" Operator="LessThan" Type="Date" 
    ValidationGroup="Search" Display="Dynamic" SetFocusOnError="True">*First date must be less than or equal to Second date!</asp:CompareValidator>

あなたが問題を抱えているので、私はコード全体をチェックしました、そしてこれはそれが正しいように正確に機能します。これをコピーして貼り付けます。

<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
ControlToValidate="StartDate" ErrorMessage="RequiredFieldValidator" 
ValidationGroup="Search" SetFocusOnError="True" Display="Dynamic" 
ToolTip="*Fill START Date!">*Fill START Date!</asp:RequiredFieldValidator>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" 
ControlToValidate="EndDate" ErrorMessage="*Fill END Date!" 
ValidationGroup="Search" Display="Dynamic" ToolTip="*Fill END Date!" />

<asp:Label ID="DateFilter" runat="server" 
Text="Filter by Date from :" style="font-family: 'Arial Narrow'" 
AssociatedControlID="StartDate"></asp:Label>
<asp:TextBox ID="StartDate" runat="server" ></asp:TextBox>
<a href="javascript:;" onclick="window.open('CalendarPopup.aspx?textbox=StartDate','cal','width=220,height=205,left=270,top=180')"><img id="Img1" 
src="calendar-icon.gif"  border="0" runat="server" alt="calendar" 
style="height: 23px" align="bottom"></a>

<asp:Label ID="Label4" runat="server" Text="to" Font-Names="Arial Narrow" 
AssociatedControlID="EndDate"></asp:Label>
<asp:TextBox ID="EndDate" runat="server"></asp:TextBox>
<a href="javascript:;" onclick="window.open('CalendarPopup.aspx?textbox=EndDate','cal','width=220,height=205,left=270,top=180')"><img id="Img2" src="calendar-icon.gif" border="0" runat="server" alt="calendar" style="height: 23px" dir="ltr"></a>&nbsp;
<asp:Button ValidationGroup="Search"
ID="Search" runat="server" BackColor="Black" Font-Names="Arial Narrow" 
ForeColor="White" Text="SEARCH" Width="73px" onclick="Search_Click" />

<asp:CompareValidator ID="CompareValidator1" runat="server"
ControlToCompare="EndDate" ControlToValidate="StartDate" 
ErrorMessage="CompareValidator" Operator="LessThan" Type="Date" 
ValidationGroup="Search" Display="Dynamic" SetFocusOnError="True">*First date must be less than or equal to Second date!</asp:CompareValidator>

于 2012-10-01T05:45:00.307 に答える