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"/>                                            

追加情報:

Ajax Control Toolkit for .Net 3.5 (2013 年 7 月版) の最新バージョンをダウンロードしました。どうやら以前のバージョンにバグがあったようです。

MaskType="Number"、Mask="NNNNNN"、および Filtered="-:" を設定できます。これは、4 桁の数字、マイナス記号、コロンを使用できる十分な文字数です。これにより、 05:00 と -05:00 の両方を入力できるようですが、 05:00 を入力すると、最後に 1 つのスペースが残ります (つまり、 00:05_ のように最後のアンダースコアが表示され続けます)。また、05:008 を入力することもできます。

マスク タイプを「なし」に戻すと、再び負の数を入力できなくなります。

私はアイデアを使い果たしたので、このコントロールを忘れる準備ができています. これらの開発者が「製品」をリリースする前に何らかのテストを行っているかどうかはわかりません。

4

0 に答える 0