2012-03-13 10 views
1

다음과 같은 컨트롤이 내 페이지에 있는데, CompareValidator는 작동하지만 MaskedEditValidator는 작동하지 않습니다. 내가 놓친 게 있니?MaskedEditValidator가 작동하지 않는 이유는 무엇입니까?

<form id="form1" runat="server"> 
    <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"> 
    </asp:ToolkitScriptManager> 
    <div> 
     Date: <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
     <asp:CalendarExtender ID="TextBox1_CalendarExtender" runat="server" 
      Enabled="True" TargetControlID="TextBox1"> 
     </asp:CalendarExtender> 
     <asp:MaskedEditExtender ID="TextBox1_MaskedEditExtender" runat="server" 
      CultureAMPMPlaceholder="" CultureCurrencySymbolPlaceholder="" 
      CultureDateFormat="" CultureDatePlaceholder="" CultureDecimalPlaceholder="" 
      CultureThousandsPlaceholder="" CultureTimePlaceholder="" Enabled="True" 
      TargetControlID="TextBox1" Mask="99/99/9999" MaskType="Date"> 
     </asp:MaskedEditExtender> 
     <%--<asp:MaskedEditValidator ID="MaskedEditValidator1" runat="server" 
      ControlExtender="TextBox1_MaskedEditExtender" ControlToValidate="TextBox1" 
      ErrorMessage="The Date is not valid!" IsValidEmpty="False"> 
     </asp:MaskedEditValidator>--%>   
     <asp:CompareValidator ID="CompareValidator1" runat="server" 
      ErrorMessage="Invalid Date!" ControlToValidate="TextBox1" 
      Operator="DataTypeCheck" Type="Date"> 
     </asp:CompareValidator> 
     <br /> 
     <br /> 
     <asp:Button ID="Button1" runat="server" Text="PostBack" 
      onclick="Button1_Click" style="height: 26px; width: 85px" /> 
     <br /><br /> 
     Selected Date:<asp:Label ID="Label1" runat="server"></asp:Label> 
     </div> 
    </form> 
+0

위 페이지를 복사 했으므로 MaskedEditExtender가 정상적으로 작동합니다. MaskedEditValidator를 의미합니까? – jmaglio

+0

예. MaskedEditValidator를 의미합니다. 주석 처리를 제거하고 CompareValidator에 주석을 달고 잘못된 날짜를 입력하면 "날짜가 유효하지 않습니다"라는 오류 메시지가 표시되지 않습니다. – GLP

답변

3

은 다음으로 MaskedEditValidator 교체 :

<asp:MaskedEditValidator ID="MaskedEditValidator1" runat="server" 
ControlExtender="TextBox1_MaskedEditExtender" ControlToValidate="TextBox1" 
IsValidEmpty="False" EmptyValueMessage="Invalid Date" 
InvalidValueMessage="The Date is not valid!"> 
</asp:MaskedEditValidator> 

중요한 것은 당신이 InvalidValueMessage 및/또는 EmptyValueMessage 대신 ERRORTEXT을 필요로한다는 것이다.