2010-09-01 3 views
0

Sur une page ASP.NET, j'utilise le même formulaire pour la connexion et l'enregistrement. Il y a deux champs de connexion et sept champs d'enregistrement. Quelque chose comme ceci:Validation alternative de deux ensembles de contrôles à l'aide du bouton de soumission unique dans ASP.NET


txtUsername | txtPassword

txtNewUsername | txtNewPassword | txtNewPasswordRepeat | txtFirstName | txtLastName | txtPhone | txtEmail

btnSubmit


Dans tous les cas, tous les champs sont obligatoires (ie nom d'utilisateur et mot de passe sont obligatoires pour se connecter, et les sept autres champs sont obligatoires pour une nouvelle inscription). Il y a un bouton de soumission unique. Cette disposition du formulaire est imposée par le client et n'est pas ouverte à modification. Maintenant, ma question est, comment valider le formulaire? Au départ, j'ai mis au point un système de validation côté serveur personnalisé, mais le client insiste sur l'utilisation des contrôles de validation asp.net standard (y compris le validateur personnalisé si nécessaire).

Pour valider le formulaire, je dois d'abord déterminer si le client se connecte ou valide, et alors seulement je peux décider de valider un ensemble de champs ou un autre. La première opération consiste donc à vérifier si l'utilisateur a renseigné le nom d'utilisateur ou le nouveau nom d'utilisateur et à l'utiliser pour déterminer si une connexion ou un nouvel enregistrement a lieu. Comme il existe un seul bouton de soumission, je ne peux pas utiliser les groupes de validation pour distinguer les deux ensembles de contrôles.

J'ai pensé à utiliser un validateur personnalisé pour l'ensemble, mais il est connecté à un seul contrôle, ce qui ne résout pas le problème. J'ai également pensé à créer un nouveau contrôle de validation, mais là encore le problème est le même: toute classe héritant de WebControls.BaseValidator est connectée à un seul contrôle de formulaire.

Compte tenu des contraintes ci-dessus, que faire? Toutes les suggestions bienvenues ...

Répondre

0

utiliser les boutons événement OnClientClick et changer le groupe de validation du bouton javascript

+0

Bonne idée, mais l'ajout de fonctionnalités au bouton n'est pas une option dans ce cas. Tous les champs de formulaire que j'ai mentionnés ci-dessus sont dans un seul contrôle utilisateur personnalisé. Le bouton de soumission n'est pas dans le contrôle de l'utilisateur, il fait partie de la page parente, donc je ne peux y placer aucune fonctionnalité spécifique au contrôle de l'utilisateur. – draconis

Questions connexes