如何限制特定触发器的验证?

dsy*_*nkd 2 asp.net validation events controls triggers

有没有办法将验证器控件的验证限制为特定事件或触发器?说,我希望我的validator1仅在单击button1时激活,而validator2仅在单击button2时激活.我怎么能在asp.net中这样做?

Tim*_*ter 9

验证组是您正在寻找的(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" />
Run Code Online (Sandbox Code Playgroud)