проверка обязательного поля для флажков asp.net в репитере? - PullRequest
0 голосов
/ 05 марта 2012

Как можно выполнить проверку обязательного поля для каждого флажка перед отправкой обратной страницы asp.net? Поэтому необходимо установить хотя бы один флажок.

ASPX

    <asp:Button ID="Submit" Text="Submit" runat="server" OnClick="Submit_Click" />

1 Ответ

1 голос
/ 05 марта 2012

Для группы флажков, где установлен хотя бы один, самый простой способ, которым я знаю, - это использовать <asp:CustomValidator />. Напишите функцию проверки JavaScript (чтобы проверить флажки и убедиться, что хотя бы один из них отмечен) и назначьте ее для <asp:CustomValidator />.

Пример разметки:

<asp:CheckBox ID="CheckBox1" runat="server" />
<asp:CheckBox ID="CheckBox2" runat="server" />
<asp:CheckBox ID="CheckBox3" runat="server" />
<asp:CheckBox ID="CheckBox4" runat="server" />
<asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="Check at least one" ClientValidationFunction="atLeastOneIsChecked"></asp:CustomValidator>

Пример JavaScript:

function atLeastOneIsChecked(sender, args) {
    var chk1 = document.getElementById('<%=CheckBox1.ClientId %>').checked;
    var chk2 = document.getElementById('<%=CheckBox2.ClientId %>').checked;
    var chk3 = document.getElementById('<%=CheckBox3.ClientId %>').checked;
    var chk4 = document.getElementById('<%=CheckBox4.ClientId %>').checked;

    args.IsValid = (chk1 || chk2 || chk3 || chk4);
    return args.IsValid;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...