Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > ValidationGroup в Wizard


Автор: Larrr 20.11.2008, 11:06
Задача в общем-то, простая - есть визард, есть кнопочка Next, есть группа валидации, которая должна сработать при нажатии кнопочки Next. Вопрос - как это сделать?

Пробовала:

1) Поставить группу валидации визарду - не помогло
2) Найти кнопочку в компонентах визарда и поставить ей группу в коде - не нашлась
3) Найти коночку в настройках визарда - похоже, у нее нет свойства ValidationGroup

Я еще поискала в Гугле, но ничего разумного не нашла. Я общем я даже не знаю что думать - не может же быть такого, кто такая очевидная функциональность не работала.

Автор: Idsa 20.11.2008, 11:41
Создал простенький Wizard с валидатором:
Код

    <asp:Wizard runat="server">
      <WizardSteps>
        <asp:TemplatedWizardStep>
          <ContentTemplate>
            Login:
            <asp:TextBox ID="LoginTextBox" runat="server"></asp:TextBox>
            <asp:RequiredFieldValidator ControlToValidate="LoginTextBox" Text="*" Display="Dynamic"
              runat="server"></asp:RequiredFieldValidator>
          </ContentTemplate>
        </asp:TemplatedWizardStep>
        <asp:TemplatedWizardStep>
          <ContentTemplate>
            Finished!
          </ContentTemplate>
        </asp:TemplatedWizardStep>
      </WizardSteps>
    </asp:Wizard>

Вроде никаких проблем: валидатор срабатывает.

Автор: Larrr 20.11.2008, 12:24
У меня в WizardStep много кнопочек и валидатор срабатывает при нажатии любой из них, а мне надо только на нажатие Next, так как многие кнопочки вообще не имеют отношения к валидации.

Автор: Idsa 20.11.2008, 12:44
Цитата(Larrr @  20.11.2008,  16:24 Найти цитируемый пост)
У меня в WizardStep много кнопочек и валидатор срабатывает при нажатии любой из них, а мне надо только на нажатие Next

Ааа.
Можно либо установить для тех кнопок, которые не должны вызывать валидацию, CausesValidation="false":
Код

      <WizardSteps>
        <asp:TemplatedWizardStep>
          <ContentTemplate>
            Login:
            <asp:TextBox ID="LoginTextBox" runat="server"></asp:TextBox>
            <asp:RequiredFieldValidator ControlToValidate="LoginTextBox" Text="*" Display="Dynamic"
              runat="server"></asp:RequiredFieldValidator>
            <asp:Button CausesValidation="false" Text="Button" runat="server" />
          </ContentTemplate>
        </asp:TemplatedWizardStep>
        <asp:TemplatedWizardStep>
          <ContentTemplate>
            Finished!
          </ContentTemplate>
        </asp:TemplatedWizardStep>
      </WizardSteps>
    </asp:Wizard>

, либо поиграться с ValidatonGroup. Думаю, первый вариант в данном случае предпочтительней.

Автор: Larrr 20.11.2008, 13:48
Спасибо, попробую smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)