Para implementar tu propia lógica en un validador utiliza un CustomValidator.
En la página aspx agrega la propiedad OnServerValidate al validador y dale como valor el nombre de una función que tú mismo escribirás.
ASP:
-
<asp:customvalidator id="CustomValidator1" runat="server" CssClass="validador" Display="Dynamic" ErrorMessage="Debe seleccionar al menos un grupo" OnServerValidate="validaGrupos"></asp:customvalidator>
En el archivo aspx.vb (o en la porción de código de servidor de tu archivo aspx) implementa la función, como se muestra a continuación. Si tu lógica indica que el dato es aceptado, establece args.IsValid a true, y si no, a false.
VB.NET:
-
Sub validaGrupos(ByVal sender As Object, ByVal args As ServerValidateEventArgs)
-
-
Dim vacio As Boolean
-
vacio = True
-
Dim elemento As ListItem
-
For Each elemento In Grupos.Items
-
If elemento.Selected = True Then
-
vacio = False
-
End If
-
Next
-
-
args.IsValid = Not vacio
-
-
End Sub