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 :

CustomValidator et ValidateRequest


Sujet :

ASP.NET

Vue hybride

Wizard50 CustomValidator et... 02/02/2010, 17h07
Redouane Bnj, Je ne pense pas que... 02/02/2010, 17h36
Wizard50 Le souci semble venir de mon... 03/02/2010, 09h50
Redouane Bnj, tu peux ajouter une... 03/02/2010, 11h02
Wizard50 Aaaaaaaaaaah merci merci... 03/02/2010, 11h16
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Inscrit en
    Décembre 2009
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 95
    Par défaut CustomValidator et ValidateRequest
    Bonjour,

    Je travail sur une page ASPX qui contient actuellement un CustomValidator et un ValidationSummary mais pour l'instant, ceux-ci refusent de s'afficher

    Pour une certaine raison, j'ai été obliger de fixer ValidateRequest="false" dans le <%@ Page.

    Est-ce que le problème de mon CustomValidator et de mon ValidationSummary pourrait venir de monValidateRequest="false" ?

    Merci de votre réponse.

    Cordialement,
    HOLLEY Guillaume

  2. #2
    Membre chevronné Avatar de Redouane
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    435
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 435
    Par défaut
    Bnj,

    Je ne pense pas que c'est à cause du ValidateRequest, il faut peut être que tu modifie les valeurs des proprietes ShowSummary et ShowMessageBox du ValidationSummary :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:ValidationSummary ID="Summary" runat="server" ShowSummary="false" ShowMessageBox="true" />
    par exemple.

  3. #3
    Membre actif
    Inscrit en
    Décembre 2009
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 95
    Par défaut
    Le souci semble venir de mon CustomValidator car mon RequireFieldValidator fonctionne à merveille ( avec le message correspondant qui s'affiche dans le ValidationSummary ).

    Voici la balise de mon CustomValidator et de mon RequireFieldValidator:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
                        ControlToValidate="TextBoxLibeller" 
                        ErrorMessage="&lt;img src=&quot;image-erreur.png&quot;&gt;&lt;/img&gt;   Un nom de cours doit obligatoirement être saisi"><img 
                        src="image-erreur.png"></img></asp:RequiredFieldValidator>
     
                    <asp:CustomValidator ID="CustomValidatorLibeller" runat="server" 
                        ControlToValidate="TextBoxLibeller" 
                        ErrorMessage="&lt;img src=&quot;image-erreur.png&quot;&gt;&lt;/img&gt;   Nom du cours incorrect" 
                        onservervalidate="CustomValidatorLibeller_ServerValidate"><img 
                        src="image-erreur.png"></img></asp:CustomValidator>
    J'ai essayer de mettre une fonction toute simple dans mon CustomValidator, plus simple je meurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        protected void CustomValidatorLibeller_ServerValidate(object source, ServerValidateEventArgs args)
        {
            string element = TextBoxLibeller.Text.ToString();
            int length = element.Length;
     
            if ( length < 3)
            {
                args.IsValid = false;
            }
        }
    Je ne comprend plus rien ...

    Sur ma page j'ai un bouton qui fait une requête INSERT INTO puis qui mène vers une autre page. Avec ce CustomValidator, si je tape dans le champ TextBoxLibeller une chaine inférieur à 3 caractère, il est censé me bloquer la requête INSERT INTO et faire un PostBack, or la rien du tout !
    En revanche, avec mon RequireFieldValidator, si je ne tape rien dans TextBoxLibeller, là il me bloque le INSERT INTO et il fait le PostBack avec affichage du message d'erreur dans la page !

    Merci de votre réponse.

  4. #4
    Membre chevronné Avatar de Redouane
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    435
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 435
    Par défaut
    Bnj,

    tu peux ajouter une validation personnalisée sur le client :

    --> tu crée une fonction de validation dans le JavaScript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <script type="text/javascript">
              function ClientValidate(oSrc, args){
               args.IsValid = (args.Value.length >= 3);
            }
        </script>
    et tu l'ajoute dans le ClientValidationFunction de ton CustomValidator :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ClientValidationFunction="ClientValidate"
    bonne courage

  5. #5
    Membre actif
    Inscrit en
    Décembre 2009
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 95
    Par défaut
    Aaaaaaaaaaah merci merci merci, sa marche !

    Je suis chiant mais j'aimerais comprendre le pourquoi du comment si tu voit ce que je veut dire xD

    Le CustomValidator étant un controle serveur, je comprend tout a fait qu'il ne puisse pas fonctionner avec du JavaScript seul ( coté client), il lui faut faire au moins une vérification coté serveur.
    Cependant, je ne comprend pas pourquoi je dois ici faire une fonction de validation coté serveur ET LA MEME coté client xD

    Le RequireFieldValidator lui ne fonctionne que coté serveur pourtant ...

    Tu peut m'expliquer ?

  6. #6
    Membre chevronné Avatar de Redouane
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    435
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 435
    Par défaut
    je t'invite à visiter ce lien, je pense qu'il répond à ta question :

    http://msdn.microsoft.com/fr-fr/library/f5db6z8k.aspx


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#] Probleme d'affichage d'un CustomValidator
    Par G_Kill dans le forum ASP.NET
    Réponses: 4
    Dernier message: 05/04/2007, 11h10
  2. CustomValidator : Validation de deux champs
    Par trihanhcie dans le forum ASP.NET
    Réponses: 9
    Dernier message: 30/03/2007, 12h02
  3. pb avec customvalidator
    Par misscricri dans le forum ASP.NET
    Réponses: 3
    Dernier message: 13/02/2007, 17h42
  4. [C#] CustomValidator
    Par Vignot dans le forum ASP.NET
    Réponses: 4
    Dernier message: 24/11/2003, 14h35

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