0

我正在尝试使用 ajaxToolkit:MaskedEditExtender 进行时间间隔输入。现在我希望能够允许小时:分钟,但我这样做的方式,它只允许 00:00 到 23:59。然而,我需要它也允许 999:59,即我不想要一天中的某个时间,而是设置一个间隔。

               <ajaxToolkit:MaskedEditExtender 
                    runat="server" 
                    ID="StartTimeMaskedEdit" 
                    MaskType="Time" 
                    Mask="999:99" 
                    TargetControlID="TimeOutTextBox" 
                    ClearMaskOnLostFocus="true" 
                    AutoComplete="true" 
                    AutoCompleteValue="000:00" />          

               <ajaxToolkit:MaskedEditValidator 
                    runat="server" ID="StartTimeMaskedEditValidator" 
                    ControlExtender="StartTimeMaskedEdit" 
                    ControlToValidate="TimeOutTextBox" 
                    IsValidEmpty="false" 
                    InvalidValueMessage="*Invalid Time" 
                    InvalidValueBlurredMessage="*Invalid Time" />

当我使用MaskType="number"时,问题是一旦输入字段失去焦点,冒号就会消失(可能是因为冒号不是数字的有效部分)。它重新出现在焦点上,但这还不够好。

有没有办法在or约束中编写自定义MaskType或允许上述内容 ?MaskType="Time""number"

4

3 回答 3

0

试试下面的代码:

<ajaxToolkit:MaskedEditExtender ID="StartTimeMaskedEdit" runat="server" 
                        TargetControlID="TimeOutTextBox" Mask="999:99:99" 
                        MessageValidatorTip="true" MaskType="Time" CultureName="en-us" 
                        InputDirection="RightToLeft" ErrorTooltipEnabled="True" />


<ajaxToolkit:MaskedEditValidator ID="StartTimeMaskedEditValidator" runat="server" 
                         ControlExtender="StartTimeMaskedEdit"
                         ControlToValidate="TimeOutTextBox" IsValidEmpty="false" 
                         MaximumValue="23:59:59" MinimumValue="00:00:00"
                         EmptyValueMessage="Enter Time" 
                         MaximumValueMessage="23:59:59" 
                         InvalidValueBlurredMessage="Time is Invalid"
                         MinimumValueMessage="Time must be grater than 00:00:00"
                         EmptyValueBlurredText="*"
                         ToolTip="Enter time between 00:00:00 to 23:59:59">   
</asp:MaskedEditValidator>

我希望它的工作和帮助你

于 2012-08-25T11:59:42.097 回答
0

我删除了验证部分,现在在代码隐藏中这样做

于 2013-09-01T22:41:56.890 回答
0
<ajaxToolkit:MaskedEditExtender ID="MaskedEditExtender2" runat="server"
                        TargetControlID="txtRestaurantMacID"
                        Mask="NL {2}:NL {2}:NL {2}:NL {2}:NL {2}:NL {2}"
                        ClearMaskOnLostFocus="true"
                        ClearTextOnInvalid="true"
                        MessageValidatorTip="true"
                        OnFocusCssClass="MaskedEditFocus"
                        OnInvalidCssClass="MaskedEditError"
                        MaskType="None"
                        InputDirection="LeftToRight"
                        ErrorTooltipEnabled="True" />

并使用验证器

 <ajaxToolkit:MaskedEditValidator ID="MaskedEditValidator2" runat="server"
                    ControlExtender="MaskedEditExtender2"
                    ControlToValidate="txtRestaurantMacID"
                    ValidationExpression="^([0-9a-fA-F]{2}){5}[0-9a-fA-F]{2}$"
                    IsValidEmpty="False"
                    Display="Dynamic"
                    TooltipMessage="Enter valid Mac Id"
                    EmptyValueBlurredText="*"
                    InvalidValueBlurredMessage="*"
                    MaximumValueBlurredMessage="*"
                    MinimumValueBlurredText="*"
                    ForeColor="Red"
                    ValidationGroup="addres" />
于 2018-05-30T07:11:30.350 回答