2010-09-29 11 views
1

je la zone de texte ci-dessous avec la validation:validation ne fonctionne pas pour le web usercontrol

<asp:TextBox ID="txtInput" runat="server" Width="80px" 
      CausesValidation="True"></asp:TextBox> 

<asp:RequiredFieldValidator ID="RequiredValidator" runat="server" 
          ControlToValidate="txtInput" 
          Display="None" 
          ErrorMessage="Bitte füllen Sie dieses Feld aus" 
          Enabled="false" /> 

<asp:RegularExpressionValidator ID="RegularExpressionValidator" runat="server" 
           ControlToValidate="txtInput" 
           ValidationExpression="[0-9]{1}(\d)*" 
           Display="None" 
           ErrorMessage="Bitte geben Sie eine Zahl ein" 
           Enabled="false" /> 

<asp:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" 
           TargetControlID="RequiredValidator" /> 

<asp:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" runat="server" 
           TargetControlID="RegularExpressionValidator" /> 

Si je clique sur un bouton sur cette page (CausesValidation est définie sur true), le contrôle valide correctement. Mais quand je mets la zone de texte et ses validateurs et extendeurs associés pas directement sur la page, mais plutôt dans un usercontrol alors le popup de validation ne s'affiche plus. Il semble toujours valider, car l'action pour le bouton n'est pas déclenchée lorsque l'entrée est invalide.

+0

je doute .. pourriez-vous expliquer .. quelle est l'utilisation/besoin de ValidatorCalloutExtender – selvaraj

+0

il est juste là pour montrer un popup écrit le message d'erreur – codymanix

+0

i got it .. merci – selvaraj

Répondre

1

J'ai trouvé la solution. Le nom de mon contrôle utilisateur contient des caractères spéciaux. Dans mon cas "Ä" qui est allemand A-Umlaut. Il semble que ASP.NET a des problèmes avec les validateurs de contrôles dont les noms contiennent des caractères non ascii.

0

Vos valideurs ont Enabled="false".

+0

C'est parce que je les active à l'exécution. Désolé de ne pas avoir été clair. Encore une fois, cela fonctionne si je déplace le contrôle et les validateurs hors du contrôle de l'utilisateur dans le formulaire. – codymanix

Questions connexes