2011-12-18 68 views
2

有什么办法可以将验证器控件的验证限制到特定事件或触发器吗?说,我希望我的validator1只在单击button1时激活,validator2只在单击button2时激活。我如何在asp.net中做到这一点?如何将验证限制到特定触发器?

回答

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

谢谢!这正是我需要的! – jzeus 2011-12-19 01:58:57