0

我正在尝试将蒙面编辑扩展器用于显示时区偏移的文本框,例如以 05:00 或 -05:00 的形式。以下是我使用的,它最初显示掩码并允许我输入上述任何一个。但是当我离开文本框时,它删除了冒号,我得到了无效的格式错误。我在这里想念什么?(我将 MaskType 从 Number 更改为 None 希望它不会下降:但确实如此)。

<asp:TextBox runat="server" ID="tbTZOffset" CssClass="NormalSmall" Text="" />
<ajaxToolkit:MaskedEditExtender runat="server" ID="meeTZO"
    TargetControlID="tbTZOffset" 
    Mask="99:99"
    MessageValidatorTip="false" 
    MaskType="None" 
    InputDirection="LeftToRight" 
    AcceptNegative="Left" 
    ErrorTooltipEnabled="True"/>
<ajaxToolkit:MaskedEditValidator runat="server" ID="mevTZO"
    ControlExtender="mevTZO"
    ControlToValidate="tbTZOffset" 
    IsValidEmpty="False" 
    EmptyValueMessage="Time Zone Offset is required"
    InvalidValueMessage="Time Zone Offset is invalid (must be in [-]hh:mm format)"
    EmptyValueBlurredText="*" 
    Display="none" 
    ValidationExpression="\b[-]?\d{2}:\d{2}\b" 
    TooltipMessage="Time Zone Offset in [-]hh:mm format" 
    ValidationGroup="vgConfig"/>                                            

添加信息:

我下载了最新版本的 .Net 3.5 Ajax Control Toolkit(2013 年 7 月版);显然在以前的版本中有一个错误。

我可以设置 MaskType="Number"、Mask="NNNNNN" 和 Filtered="-:",足够的字符允许 4 位数字、负号和冒号。这似乎允许我输入 05:00 和 -05:00 但如果我输入 05:00,它会在最后留下一个空间来填充(即继续显示最后一个下划线,如 00:05_ )。它还允许我输入 05:008。

如果我将掩码类型改回“无”,我将无法再次输入负数。

我已经没有想法了,准备忘记这个控制。我不确定这些开发人员在发布他们的“产品”之前是否进行了任何类型的测试。

4

0 回答 0