【问题标题】:How to limit validation to a particular trigger?如何将验证限制为特定触发器?
【发布时间】:2012-01-23 05:41:14
【问题描述】:

有没有办法将验证器控件的验证限制为特定事件或触发器?说,我希望我的验证器 1 仅在单击按钮 1 时激活,验证器 2 仅在单击按钮 2 时激活。我如何在 asp.net 中做到这一点?

【问题讨论】:

    标签: asp.net validation events triggers controls


    【解决方案1】:

    ValidationGroups 是您正在寻找的(ASP.NET >= 2.0)

    验证组允许您在页面上组织验证控件 作为一套。每个验证组可以独立执行验证 来自页面上的其他验证组。

    <asp:textbox id="AgeTextBox" 
      runat="Server">
    </asp:textbox>
    
    &nbsp;
    
    <asp:requiredfieldvalidator id="RequiredFieldValidator1"
      controltovalidate="AgeTextBox"
      validationgroup="PersonalInfoGroup"
      errormessage="Enter your age."
      runat="Server">
    </asp:requiredfieldvalidator>
    
    <br /><br />
    
    <!--When Button1 is clicked, only validation
    controls that are a part of PersonalInfoGroup
    are validated.-->
    <asp:button id="Button1" 
      text="Validate" 
      causesvalidation="true"
      validationgroup="PersonalInfoGroup"
      runat="Server" />
    
    <br /><br />
    
    <asp:textbox id="CityTextBox" 
      runat="Server">
    </asp:textbox>
    
    &nbsp;
    
    <asp:requiredfieldvalidator id="RequiredFieldValidator2"
      controltovalidate="CityTextBox"
      validationgroup="LocationInfoGroup"
      errormessage="Enter a city name."
      runat="Server">
    </asp:requiredfieldvalidator>
    
    <br /><br />
    
    <!--When Button2 is clicked, only validation
    controls that are a part of LocationInfoGroup
    are validated.-->
    <asp:button id="Button2" 
      text="Validate" 
      causesvalidation="true"
      validationgroup="LocationInfoGroup"
      runat="Server" />
    

    【讨论】:

    • 谢谢!这正是我所需要的!
    猜你喜欢
    • 2015-10-22
    • 2018-03-18
    • 1970-01-01
    • 2010-11-17
    • 1970-01-01
    • 1970-01-01
    • 2015-04-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多