IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Fonctionnement du ValidationGroup


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 453
    Par défaut Fonctionnement du ValidationGroup
    Bonjour tout le monde,

    Je rencontre un problème insoluble pour moi et qui pourtant ne doit pas être si compliqué que ça, donc par dépit et pour garder les quelques cheveux qui me restent après les heures passées sur ce truc je me tourne vers vous.

    J'ai sur mon formulaire une tripotée de contrôles avec les validator qui vont bien pour chaque mais qui n'ont pas besoin d'être tous valide pour le post.
    Je les ai donc assigné à des ValidationGroup différents en fonction de mes besoins. Jusque là tout va bien, jusque là tout va bien, le plus dur c'est la chute.

    Mon bouton de post :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <cc2:CssButton ID="saveButton" runat="server" CssClass="btn60" ValidationGroup="Main" Visible="false" style="margin-left:3px;"  />
    Sauf que j'ai assigné un panel à un autre groupe de validation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
        <asp:Panel runat="server" ID="importPanel" Style="display: none;" Visible="false" CssClass="modalPopupBleu">
            <table border="0" width="450px" height="150px">
    			<tr valign="middle">
    				<td class="titreFonce" align="right">
    					<asp:Label ID="importLabel" runat="server" />
    				</td>
    				<td>
    					<asp:FileUpload ID="importFileUpload" runat="server" />
    					<asp:RequiredFieldValidator ID="importFileRequiredValidator" runat="server" ValidationGroup="Import" ControlToValidate="importFileUpload" Text="*" Display="Dynamic" />
    				</td>
    			</tr>
    			<tr>
    				<td colspan="2" align="left">
    					<asp:ValidationSummary ID="importValidationSummary" ValidationGroup="Import" runat="server" />
    				</td>
    			</tr>
    			<tr>
    				<td colspan="2" align="center">
    					<asp:Button ID="importOkButton" runat="server" ValidationGroup="Import" />
    					<asp:Button ID="importCancelButton" runat="server" CausesValidation="false" />
    				</td>
    			</tr>
    		</table>
    	</asp:Panel>
    Or lorsque je post mon formulaire, il persiste à tenter de valider importFileRequiredValidator alors qu'il est invisible à ce moment (donc vide) et qu'il fait parti d'un autre ValidationGroup !

    Si vous pouviez éclairer ma lanterne, merci d'avance.

  2. #2
    Membre confirmé

    Homme Profil pro
    Informatique en tant qu'autodidacte passionné
    Inscrit en
    Mars 2009
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Informatique en tant qu'autodidacte passionné
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 189
    Billets dans le blog
    1
    Par défaut
    ValidationGroup concerne la validation d'un groupe de contrôles ayant tous le même nom choisi pour la propriété ValidationGroup.

    Exemple: si tu attribues le mot "import" à la propriété ValidationGroup, il faut que tous les autres contôles faisant partie d'un même ensemble aient le mot "import" pour leur ValidationGroup.

    Sinon : tu peux employer un RequierFieldValidator seul pour chaque contrôle de ta page , sans renseigner la proprité ValidationGroup.
    A ce moment tu n'a qu'à renseigner les propriétés ID, ErrorMessage et ControlToValidate.

    Essaie cette dernière option.

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 453
    Par défaut
    Citation Envoyé par Publicnew Voir le message
    si tu attribues le mot "import" à la propriété ValidationGroup, il faut que tous les autres contôles faisant partie d'un même ensemble aient le mot "import" pour leur ValidationGroup.
    C'est ce que j'ai fait, j'ai un validationGroup "Import" et un "Main". Tous les contrôles de ma page ont été assignés au validationGroup qui les concerne et tous mes boutons sont à "CausesValidation = False" sauf les 2 boutons qui valident chacun leur validationGroup => "saveButton" pour le groupe "Main" et "importOkButton" pour le groupe "Import".

    Citation Envoyé par Publicnew Voir le message
    tu peux employer un RequierFieldValidator seul pour chaque contrôle de ta page , sans renseigner la proprité ValidationGroup.
    A ce moment tu n'a qu'à renseigner les propriétés ID, ErrorMessage et ControlToValidate.

    Essaie cette dernière option.
    C'est bien là qu'est mon problème. Tous mes contrôles ont des Validators (voire plusieurs pour certains), un ID (évidemment), l'ErrorMessage qui va bien (assigné dans le codeBehind), et le controlToValidate.

    Le souci est justement que lorsque je veux valider ma page, le bouton "saveButton" doit valider le groupe "Main" or il n'en a rien a carrer, il tente de valider toute la page et donc le groupe "Import" est en erreur puisque invisible à ce moment là et vide...

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/06/2003, 16h51
  2. Réponses: 5
    Dernier message: 14/05/2003, 14h51
  3. [Turbo Pascal] TP7 fonctionne en QWERTY
    Par callahan dans le forum Turbo Pascal
    Réponses: 9
    Dernier message: 08/02/2003, 21h49
  4. Prb de fonctionnement dans SaveDialog avecInitialDir
    Par boyerf dans le forum Composants VCL
    Réponses: 4
    Dernier message: 12/12/2002, 21h46
  5. ca ne fonctionne pas (generateur auto-incrémentant)
    Par tripper.dim dans le forum SQL
    Réponses: 7
    Dernier message: 26/11/2002, 00h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo