为什么我的MaskedEditValidator不起作用?

时间:2012-03-13 16:57:27

标签: asp.net maskededitextender comparevalidator

我的页面中有以下控件,我的CompareValidator可以使用,但不是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>

1 个答案:

答案 0 :(得分: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。