2

我的页面中有以下控件,我的 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>
4

1 回答 1

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。

于 2012-03-13T20:10:34.690 回答