我正在尝试将蒙面编辑扩展器用于显示时区偏移的文本框,例如以 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。
如果我将掩码类型改回“无”,我将无法再次输入负数。
我已经没有想法了,准备忘记这个控制。我不确定这些开发人员在发布他们的“产品”之前是否进行了任何类型的测试。