Для группы флажков, где установлен хотя бы один, самый простой способ, которым я знаю, - это использовать <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;
}