J'ai fait quelques recherches à ce sujet, et j'ai trouvé plusieurs réponses partielles, cependant rien qui me donne ce chaud flou "c'est la bonne façon de faire". Pour répondre à la réclamation la plus fréquente concernant cette question: "les cases à cocher peuvent avoir deux états légitimes - cochée et décochée", il s'agit d'une case à cocher "J'accepte les termes et conditions ..." qui doit être cochée afin de terminer une inscription, il est donc nécessaire de cocher la case du point de vue de la logique métier.
Veuillez fournir des fragments de code complets prêts à copier-coller avec votre réponse! Je sais qu'il y a plusieurs éléments à cela - le CustomValidator (vraisemblablement), le code-behind, du javascript et peut-être un chèque pour IsValid, et la partie frustrante pour moi est que dans chaque exemple que j'ai vu, l'un de ces critiques il manque des morceaux!
la source
jQuery("#<%= MyCheckBox.ClientID %>")
au lieu dejQuery(".AcceptedAgreement input:checkbox")
pour être plus explicite dans quel élément vous essayez d'affecter.Version C # de la réponse d'Andrew:
Code derrière:
la source
Si vous voulez un vrai validateur qui ne repose pas sur jquery et gère également la validation côté serveur (et vous devriez. La validation côté serveur est la partie la plus importante), alors voici un contrôle
la source
La réponse de Scott fonctionnera pour les classes de cases à cocher. Si vous voulez des cases à cocher individuelles, vous devez être un peu plus sournois. Si vous ne faites qu'une seule boîte, il vaut mieux le faire avec des identifiants. Cet exemple le fait par des cases à cocher spécifiques et ne nécessite pas jQuery. C'est aussi un joli petit exemple de la façon dont vous pouvez obtenir ces ID de contrôle embêtants dans votre Javascript.
Le .ascx:
Et le code derrière:
la source
J'effectue généralement la validation côté client:
la source
Manière non javascript. . page aspx:
Code derrière:
Pour toute action dont vous pourriez avoir besoin (règles métier):
Désolé pour le code VB. . . vous pouvez le convertir en C # si cela vous plaît. L'entreprise pour laquelle je travaille actuellement a besoin de VB :(
la source