J'ai un radiobuttonlist avec deux éléments, Oui ou Non. Le contrôle radiobuttonlist a un customvalidator qui a besoin d'une fonction de servervalidation et d'une fonction clientvalidation javascript. Pourriez-vous m'aider? La fonction de ce message fonctionne mais seulement quand j'ai choisi l'un des deux listitems, quand aucun listitem n'est sélectionné, la validation saute mon contrôle radiobuttonlist.Customvalidator: Vérifie si radiobuttonlist contient un élément sélectionné
function ValidateRadioButtonList(source, arguments) {
var RBL = document.getElementById(source.controltovalidate);
var radiobuttonlist = RBL.getElementsByTagName("input");
var counter = 0;
var atLeast = 1
for (var i = 0; i < radiobuttonlist.length; i++) {
if (radiobuttonlist[i].checked) {
counter++;
}
}
if (atLeast = counter) {
arguments.IsValid = true;
return arguments.IsValid;
}
arguments.IsValid = false;
return arguments.IsValid;
}
EDIT: Code pertinent des commentaires
<asp:Button ID="btnSubmit" runat="server" Text="Submit" CssClass="btnNormal"
CausesValidation="True" />
<asp:CustomValidator runat="server"
ClientValidationFunction="ValidateRadioButtonList"
OnServerValidate="RadioButtonListServerValidation" ID="cvRadioButtonList"
Font-Bold="True" Font-Size="Medium" ErrorMessage="Business critical"
ControlToValidate="rblBusinessCritical">*</asp:CustomValidator>
<asp:RadioButtonList ID="rblBusinessCritical" runat="server" RepeatLayout="Flow"
RepeatDirection="Horizontal" TabIndex="4">
<asp:ListItem Text="Yes" Value="1" />
<asp:ListItem Text="No" Value="0" />
</asp:RadioButtonList>
code Derrière:
Public Sub RadioButtonListServerValidation(ByVal sender As Object, _
ByVal args As ServerValidateEventArgs)
If rblBusinessCritical.SelectedValue = "-1" Then
args.IsValid = False
cvRadioButtonList.ErrorMessage = "Business critical needed"
Exit Sub
Else
args.IsValid = True
End If
End Sub
Non mais maintenant la propriété ValidateEmptyText est définie sur true et elle ne valide toujours pas lorsque vous cliquez sur le bouton d'envoi. La radiobuttonlist est seulement validée par ma fonction javascript en cliquant sur un des éléments de radiobuttonlist ... –
a édité mon poste ... –