Как ограничить валидацию конкретным триггером? - PullRequest
2 голосов
/ 19 декабря 2011

Есть ли способ ограничить валидацию валидатора элементом определенного события или триггера?Скажем, я хочу, чтобы мой validator1 активировался только при нажатии кнопки 1, а validator2 активировался только при нажатии кнопки 2.Как я могу сделать это в asp.net?

1 Ответ

9 голосов
/ 19 декабря 2011

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