2010-05-11 2 views
4

Je développe une page web de contact qui a un champ de saisie appelé Email. Il est validé par un validateur de champ obligatoire et un validateur d'expressions régulières avec des messages appropriés.Problème d'alignement des valideurs ASP.NET

requis: Entrez Email Regular Expression: Invalid Email

Je suis en train de ces deux comme indiqué ci-dessous:

<asp:TextBox ID="txtEmail" runat="server"></asp:TextBox> 
            <font color="#FF0000">*</font> 
            <asp:RequiredFieldValidator ID="rfvemail" CssClass="error_text" ControlToValidate="txtEmail" 
             runat="server" ErrorMessage="Enter email address."></asp:RequiredFieldValidator> 
             <asp:RegularExpressionValidator ID="revemail" runat="server" ControlToValidate="txtEmail" 
              ErrorMessage="Invalid Email" ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator> 

Mon problème est à la fois email et Email incorrect occupe son propre espace. Par exemple: Si je laisse un courriel comme espace vide et que j'appuie sur le bouton Soumettre, le message Entrer le courriel s'affiche juste à côté. Si j'entre un email invalide (xxx), Entrer Email est désactivé mais en prenant l'espace, le message Email invalide est affiché après que ces espaces aient été pris par 'Entrer Email' avant.

Y at-il un moyen de supprimer cet espace ??

Mahesh

Répondre

3

utilisation Diplay = "Dynamic"

Le comportement d'affichage pour la commande de validation. Les valeurs légales sont:

  • Aucun (le contrôle n'apparaît pas utilisé pour afficher le message d'erreur que dans le contrôle ValidationSummary.)
  • statique (les écrans de contrôle un message d'erreur si la validation échoue L'espace est . réservé sur la page du message même si l'entrée passe la validation.
  • dynamique (les écrans de contrôle d'un message d'erreur si la validation échoue. l'espace est pas réservé sur la page du message si l'entrée validation passe
2

Si je comprends bien la question, je pense que la réponse est de mettre la propriété Display à Dynamic. Si vous utilisez des thèmes ASP.NET, vous pouvez définir ceci comme valeur par défaut pour tous les validateurs de votre thème en utilisant un fichier Skin, vous n'avez donc plus à vous en soucier.