0

RequiredFieldValidator があります。コードは以下のとおりです。

 <asp:TextBox runat="server" ID="phone" MaxLength="10" Columns="10" 
                            Width="90px"></asp:TextBox>
                        <asp:MaskedEditExtender ID="phone_MaskedEditExtender" runat="server" CultureAMPMPlaceholder=""
                            CultureCurrencySymbolPlaceholder="" CultureDateFormat="" CultureDatePlaceholder=""
                            CultureDecimalPlaceholder="" CultureThousandsPlaceholder="" CultureTimePlaceholder=""
                            Enabled="True" TargetControlID="phone" Mask="(999)999-9999" ClearMaskOnLostFocus="False">
                        </asp:MaskedEditExtender>
                        <asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidatorPhone" ControlToValidate="phone"
                            ErrorMessage="Phone is required." Display="Dynamic" InitialValue=""  />

asp:MaskedEditExtender を削除すると、RequiredFieldValidator は期待どおりに機能します。そうしないと、バリデーターの機能が失われるようです。

なんで?ありがとう。

4

2 に答える 2

1

MaskedEditExtender は、マスクを宣言し、入力の値の代わりに自分自身を配置する以外は何もしていません。

電話番号の場合、これらすべての文化は必要ありません。

検証式とは何ですか?

MaskedExtender の要点は、入力タイプを制御することです。ASP を使用している場合は、データベースから取得してフィールドの最大長を制限することでこれを行うことができます。

ここに例があります。

<cc1:MaskedEditExtender  ID="MaskedEditExtender1" 
                     runat="server"
                     TargetControlID="txtClientLookupValue"
                     Mask="999999-9999"
                     ClearMaskOnLostFocus="false"> 
</cc1:MaskedEditExtender>

<cc1:MaskedEditValidator ID="MaskedEditValidator1" 
                     ControlExtender="MaskedEditExtender1"
                     runat="server"
                     ControlToValidate="txtClientLookupValue"
                     IsValidEmpty="True" 
                     InvalidValueMessage="INVALID"
                     ValidationExpression="^[2-9][0-9][0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]$"
                     Display="Dynamic">    
</cc1:MaskedEditValidator>

そして、ここに参照があります:

MaskedEditExtenderLinkASP

幸運を。

于 2012-05-16T20:01:58.443 に答える
0

ASP.NET で電話番号を作成する方法を次に示します (マスクと検証)。助けようとしているだけです!

            <div>
                <asp:ScriptManager ID="ScriptManager1" runat="server">
                </asp:ScriptManager>


                <asp:TextBox ID="txb_HomePhoneNumb"
                    Cssclass="BoxStyleHireAppCityStateZip" runat="server"
                    Width="175" MaxLength="12">
                </asp:TextBox>

                <%--MaskedEditExtender Created with: ASP.NET AJAX Control
                   Toolkit: https://ajaxcontroltoolkit.codeplex.com--%>

                <cc1:MaskedEditExtender ID="MaskedEditExtenderHomePhoneNumb"
                   runat="server" 
                   TargetControlID="txb_HomePhoneNumb"
                   ClearMaskOnLostFocus ="false"
                   MaskType="None"
                   Mask="(999) 999-9999" 
                   MessageValidatorTip="true"
                   InputDirection="LeftToRight"
                   ErrorTooltipEnabled="True"
                />

                <asp:RegularExpressionValidator runat="server"
                     ControlToValidate="txb_HomePhoneNumb" style="color:red;"
                     CssClass="display-next"
                     ErrorMessage="*Not a valid phone number!"
                     ValidationExpression="^\D?(\d{3})\D?\D?(\d{3})\D?
                                               (\d{4})$" Font-Size="Medium">
                </asp:RegularExpressionValidator>
            </div>
于 2017-10-05T10:56:05.593 に答える