Как обойти проверку элемента управления Asp.net только для нескольких элементов управления по нажатию кнопки? - PullRequest
0 голосов
/ 04 июля 2018

У меня есть форма ASP.NET, которая принимает данные от пользователя. В форме есть кнопка «Сохранить и добавить» для выполнения различных функций.

Проблема, с которой я столкнулся, заключается в том, что в форме у меня есть набор валидаторов, и когда нажимается кнопка «Добавить», форма проверяется. На странице 5 элементов управления, но во время нажатия кнопки «Добавить» мне нужно проверить только два элемента управления. Только во время нажатия кнопки Сохранить, я должен проверить все элементы управления.

Как игнорировать эти 3 проверки элемента управления при нажатии кнопки Добавить.

Есть ли способ обойти это?

1 Ответ

0 голосов
/ 04 июля 2018

Чтобы пропустить некоторые проверки, я полагаю, вы можете использовать метод ValidatorEnable в jquery для включения / выключения. Что-то вроде это :

Email:
<asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="valEmail" ControlToValidate="txtEmail" runat="server" 
     ErrorMessage="*Required" ForeColor="Red" ValidationGroup="Group2" />
<br />
Enable Validation:
<input type="checkbox" id="CheckBox2 checked="checked" />
<br />
<asp:Button Text="Submit" runat="server" ValidationGroup="Group2" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
    $(document).on("click", "#CheckBox2", function () {
        var valEmail = $("[id*=valEmail]");
        ValidatorEnable(valEmail[0], $(this).is(":checked"));
    });
</script>

Вот демонстрационная версия на случай, если вы хотите протестировать ее, прежде чем идти к ее реализации: https://www.aspsnippets.com/demos/642/

EDIT

Чтобы выполнить эту задачу, используя чистый javascript, а не jquery, вы можете сделать что-то вроде этого:

ValidatorEnable(document.getElementById('<%=yourValidator.ClientID%>'), false);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...