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

时间:2011-12-18 22:47:47

标签: asp.net validation events triggers controls

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

1 个答案:

答案 0 :(得分:9)

您正在寻找

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