J'ai un contrôle personnalisé avec plusieurs champs de zone de texte et une case à cocher.Désactivation des valideurs de champs obligatoires côté serveur de la case à cocher
Si la case est cochée, et que l'utilisateur soumet le formulaire, je dois leur permettre de continuer si la zone de texte est vide (et que la case est cochée).
Je dois implémenter ceci sans javascript.
Le problème est que sur l'événement OnInit du contrôle personnalisé, où je câline les zones de texte et leurs validateurs, je ne peux pas accéder à la valeur de la case à cocher.
J'ai essayé de passer outre la uniqueid de la case à cocher pour que je puisse désactiver en cas OnInit de contrôles personnalisés les fieldvalidators nécessaires si this.Context.Request.Form [ « CheckboxId »] = « On », mais dès que je redéfinis l'uniqueID de la checkbox, viewstate a cessé de fonctionner.
L'autre chose à laquelle je pensais est d'avoir un champ obligatoire requiredfieldvalidator qui prend la case à cocher dans le constructeur et est désactivé si la valeur est false.
Avez-vous un lien vers un article qui décrit comment faire cela? Tous les exemples que j'ai vus utilisent OnInit pour ajouter des contrôles dans un contrôle personnalisé. –
Le bouton est en dehors du contrôle personnalisé qui inclut les contrôles validés - ce n'est donc pas une option. En ce moment, je vois la valeur de la case à cocher comme étant fausse quoi que ce soit dans OnLoad –
J'ai mis à jour la réponse en fonction de vos commentaires –