Question

J'ai une table avec deux zones de texte. Chaque zone de texte a un validateur nécessaire pour que les données d'insertion d'utilisateur dans la zone de texte.

J'ai aussi une table de connexion pour confirmer privilages utilisateur.

Quand je soumets le bouton de connexion, les valideurs de la première table apparaissent et empêcher l'utilisateur de se connecter. J'ai changé le bouton de connexion propriété (Causes validation) false, mais les validateurs que j'ai ajouté dans la table de connexion didn « t apparaissent.

Alors plaît comment puis-je résoudre ce problème.

Était-ce utile?

La solution

Je pense que vous pouvez résoudre votre problème en utilisant ValidationGroups . Voici un extrait de une page avec une explication plus pour vous:

Cette page a deux groupes - un « groupe 1 » et un « groupe 2 » de validateurs. Il y a alors deux boutons sur la page - lorsque button1 est cliqué, le premier groupe de validateurs feu. Lorsque Bouton2 est cliqué, le deuxième groupe de validateurs feu . Postback sera bloqué côté client par défaut si la validation échoue:

<html>
<body>
     <form runat=“server”>
          <asp:textbox id=“TextBox1” runat=“server”/>
          <asp:requiredfieldvalidator ValidationGroup=“Group1”
                                                       ErrorText=“Need to Fill in Value!”
                                                       ControlToValidate=“TextBox1”
                                                       runat=“server”/>
            <asp:textbox id=“TextBox2” runat=“server”/>
            <asp:requiredfieldvalidator ValidationGroup=“Group2”
                                                         ErrorText=“Need to Fill in Value!”
                                                         ControlToValidate=“TextBox2”
                                                         runat=“server”/>
            <asp:button text=“Group1” ValidationGroup=“Group1” runat=“server”/>
            <asp:button text=“Group2” ValidationGroup=“Group2” runat=“server”/>
     </form>
</body>
</html>

Autres conseils

Ce que vous devez utiliser est un attribut ValidationGroup sur les deux boutons et les validations. Cela permet à certaines actions pour faire respecter un sous-ensemble de validateurs sur la page lorsque vous cliquez sur le bouton.

<asp:TextBox ID="txtA" runat="server" />
<asp:RequiredFieldValidator ID="rfvA" runat="server" ErrorMessage="Message." ControlToValidate="txtA" ValidationGroup="A" />
<asp:Button ID="btnA" runat="server" Text="A" ValidationGroup="A" />

<asp:TextBox ID="txtB" runat="server" />
<asp:RequiredFieldValidator ID="rfvB" runat="server" ErrorMessage="Message." ControlToValidate="txtA" ValidationGroup="B" />
<asp:Button ID="btnB" runat="server" Text="B" ValidationGroup="B" />

Maintenant, quand BTAN est cliqué, il ne vérifie si RFVA est valide (vérification txtA) et quand BTNB est cliqué, il ne vérifie si rfvB est valide. Et oui, vous pouvez avoir plusieurs contrôles de validation dans le même groupe de validation.

Lorsque vous définissez la propriété CausesValidation false, vous désactivez toutes les actions de validation pour le bouton, pas seulement ceux que vous ne vouliez pas.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top