Кнопка и валидаторы

У меня есть таблица с двумя текстовыми полями. Каждое текстовое поле имеет обязательный валидатор, чтобы пользователь вставлял данные в текстовое поле.

У меня также есть таблица входа для подтверждения прав пользователей.

Когда я отправляю кнопку входа в систему, появляются валидаторы из первой таблицы, и пользователь не может войти в систему. Я изменил свойство кнопки входа (вызывает проверку) на false, но валидаторы, которые я добавил в таблицу входа, не появились.,

Поэтому, пожалуйста, как я могу решить эту проблему.

2 ответа

Решение

Я думаю, что вы можете решить свою проблему с помощью ValidationGroups. Вот выдержка из страницы с более подробным объяснением для вас:

На этой странице есть две группы - "Группа1" и "Группа2" валидаторов. Затем на странице есть две кнопки - при нажатии кнопки 1 срабатывает первая группа валидаторов. Когда кнопка 2 нажата, вторая группа валидаторов сработает. Обратная передача будет заблокирована на стороне клиента по умолчанию, если проверка не удалась:

<html>
<body>
     <form runat=“server”>
          <asp:textbox id=“TextBox1” runat=“server”/>
          <asp:requiredfieldvalidator ValidationGroup=“Group1”
                                                       ErrorText=“Need to Fill in Value!”
                                                       ControlToValidate=“TextBox1”
                                                       runat=“server”/>
            <asp:textbox id=“TextBox2” runat=“server”/>
            <asp:requiredfieldvalidator ValidationGroup=“Group2”
                                                         ErrorText=“Need to Fill in Value!”
                                                         ControlToValidate=“TextBox2”
                                                         runat=“server”/>
            <asp:button text=“Group1” ValidationGroup=“Group1” runat=“server”/>
            <asp:button text=“Group2” ValidationGroup=“Group2” runat=“server”/>
     </form>
</body>
</html>

Вам нужно использовать атрибут ValidationGroup как для кнопок, так и для валидаций. Это позволяет определенным действиям принудительно применять подмножество валидаторов на странице только при нажатии кнопки.

<asp:TextBox ID="txtA" runat="server" />
<asp:RequiredFieldValidator ID="rfvA" runat="server" ErrorMessage="Message." ControlToValidate="txtA" ValidationGroup="A" />
<asp:Button ID="btnA" runat="server" Text="A" ValidationGroup="A" />

<asp:TextBox ID="txtB" runat="server" />
<asp:RequiredFieldValidator ID="rfvB" runat="server" ErrorMessage="Message." ControlToValidate="txtA" ValidationGroup="B" />
<asp:Button ID="btnB" runat="server" Text="B" ValidationGroup="B" />

Теперь, когда щелкает btnA, он только проверяет, является ли rfvA действительным (проверяет txtA), а когда нажимается btnB, он только проверяет, является ли rfvB действительным. И да, вы можете иметь несколько элементов управления проверкой в ​​одной группе проверки.

Когда вы устанавливаете для свойства CausesValidation значение false, вы отключаете все действия по проверке кнопки, а не только те, которые вам не нужны.

Другие вопросы по тегам