• ValidationGroup指定后,ValidationSummary失效的解决办法。


    1.没有指定ValidationGroup,ValidationSummmary正常运行。

     <div>
            <asp:ValidationSummary ID="valsStartUp" runat="server" DisplayMode="List"   />
        </div>
        <div>
            <div>
                <asp:TextBox runat="server" ID="txtCardNumber" MaxLength="19" />
                <asp:RequiredFieldValidator runat="server" ID="valrCardNumber" ControlToValidate="txtCardNumber"
                    Display="none" ErrorMessage="* Card Number: required"   />
                <asp:RegularExpressionValidator ID="valeCardNumber" runat="server" ControlToValidate="txtCardNumber"
                    ValidationExpression="d{16,19}" ErrorMessage="* Cardnumber: Enter your full 16-19 digit card number"
                    Display="None"  />
                <ajaxToolkit:FilteredTextBoxExtender ID="ftbeCardNumber" runat="server" TargetControlID="txtCardNumber"
                    FilterType="Numbers" />
            </div> 
            <asp:Button ID="Button1" runat="server" Text="Button" />
      
           
        </div>
    

     2.指定validationGroup,ValidationSummary失效

     <div>
            <asp:ValidationSummary ID="valsStartUp" runat="server" DisplayMode="List" ValidationGroup="vagStartUp" />
        </div>
        <div>
            <div>
                <asp:TextBox runat="server" ID="txtCardNumber" MaxLength="19" />
                <asp:RequiredFieldValidator runat="server" ID="valrCardNumber" ControlToValidate="txtCardNumber"
                    Display="none" ErrorMessage="* Card Number: required" ValidationGroup="vagStartUp" />
                <asp:RegularExpressionValidator ID="valeCardNumber" runat="server" ControlToValidate="txtCardNumber"
                    ValidationExpression="d{16,19}" ErrorMessage="* Cardnumber: Enter your full 16-19 digit card number"
                    Display="None" ValidationGroup="vagStartUp" />
                <ajaxToolkit:FilteredTextBoxExtender ID="ftbeCardNumber" runat="server" TargetControlID="txtCardNumber"
                    FilterType="Numbers" />
            </div> 
            <asp:Button ID="Button1" runat="server" Text="Button"/>
      
           
        </div>
    

     解决办法:<asp:Button ID="Button1" runat="server" Text="Button" ValidationGroup="vagStartUp" />

    The default behaviour in ASP.NET is that when the user clicks a button that has no ValidationGroup specified (and has CausesValidation set to true), all validation controls that do not belong to a validation group are validated.

    Therefore, to validate a specific group, you need to set the ValidationGroup property of the button that should cause the validation (and also possibly the CausesValidation property).

    See the MSDN documentation for Button.ValidationGroup for details and an example.

  • 相关阅读:
    LINQ查询表达式(1)
    JSON是什么
    .net序列化
    wampserver
    JQuery系列(1)
    c# 数据类型转换
    并不对劲的uoj311.[UNR #2]积劳成疾
    并不对劲的uoj308.[UNR #2]UOJ拯救计划
    并不对劲的CF1349B&C:Game of Median Life
    并不对劲的复健训练-CF1329B&C:Heap Sequences
  • 原文地址:https://www.cnblogs.com/kouhh/p/3635964.html
Copyright © 2020-2023  润新知