2009-12-11 3 views
1

J'ai un formulaire simple avec une zone de texte et un panneau avec trois boutons radio. J'ai utilisé un événement de validation avec un fournisseur d'erreur pour forcer l'utilisateur à placer un nombre dans la zone de texte. Mon problème est avec le groupe de boutons radio. L'utilisateur doit sélectionner un bouton radio. J'ai trouvé que vous ne pouvez pas valider sur le panneau contenant les boutons radio, à la place j'ai dû écrire un événement de validation pour chaque bouton. Y at-il un moyen simple de s'assurer que l'utilisateur a sélectionné un bouton radio? Je vous remercie.Evénement de validation du bouton radio

Répondre

1

Une approche simple consiste à utiliser simplement ce code:

bool selectionMade = radioButton1.Checked || radioButton2.Checked || radioButton3.Checked; 

Vous n'avez pas besoin de mettre ce code en tout état de cause de validation, vous pouvez le mettre où vous devez vous assurer une RadioButton est cochée. Cela peut être dans l'événement click pour un bouton qui enregistre l'enregistrement en cours, etc. Si selectionMode est false, déclenchez toutes les notifications utilisateur dont vous avez besoin.

Si vous avez vraiment besoin d'utiliser l'un des événements de validation de RadioButton, vous pouvez créer un seul événement de ce type et câbler tous vos RadioButtons pour utiliser cet événement. Vous pouvez utiliser l'argument object sender de l'événement pour savoir quel RadioButton déclenche l'événement de validation.

0

Vous pouvez utiliser un Custom Validator

Spécifiez un ClientValidationFunction avec le code le long des lignes de

<script language="javascript"> 
    function ClientValidate(source, arguments) 
    { 
     if ($('#button1').checked || $('#button2').checked || $('#button3').checked) { 
      arguments.IsValid = true; 
     } else { 
      arguments.IsValid = false; 
     } 
    } 
</script> 
1

J'utiliser un GroupBox, mettez vos RadioButton contrôles à l'intérieur et utiliser l'événement Validating sur votre GroupBox.

+0

Cela semble fonctionner, mais si je fais un this.validatechildren() l'icône d'erreur n'apparaît pas au début, mais je travaille dessus. Merci –