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 qui ne se déclenche pas


Sujet :

ASP.NET

  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 qui ne se déclenche pas
    Bonjour,
    Et oui c'est encore moi ... à croire que les CustomValidator me haïssent xD

    Bon alors petit topo rapide : j'ai un RequireFieldValidator et un CustomValidator qui vérifie tous les deux un TextBox censé représenté le numéro d'un jour dans le mois ( allant de 1 à 31 donc ).

    Voici le code de RequireFieldValidator et du CustomValidator :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
                            <asp:RequiredFieldValidator ID="RequiredFieldValidatorJour" runat="server" 
                                ControlToValidate="TextBoxJour" 
                                ErrorMessage="&lt;img src=&quot;image-erreur.png&quot;&gt;&lt;/img&gt;   Un jour doit être saisi"><img 
                                src="image-erreur.png"></img></asp:RequiredFieldValidator>
                            <asp:CustomValidator ID="CustomValidatorJour" runat="server" 
                                ClientValidationFunction="ClientValidateJour" ControlToValidate="TextBoxJour"
                                ErrorMessage="&lt;img src=&quot;image-erreur.png&quot;&gt;&lt;/img&gt;   Jour incorrect"><img 
                                src="image-erreur.png"></img></asp:CustomValidator>
    J'ai donc codé le ServerValidate associé au CustomValidator ( coté serveur ) ainsi que la fonction JavaScript associé ( coté client ), que voici respectueusement :

    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
     
        protected void CustomValidatorJour_ServerValidate(object source, ServerValidateEventArgs args)
        {
            string element = TextBoxJour.Text;
            int elementInt;
     
                try
                {
                   elementInt = int.Parse(element);
     
                    if ( elementInt < 1 || elementInt > 31 )
                    {
                        args.IsValid = false;
                    }
                }
                catch ( Exception ex )
                {
                    args.IsValid = false;
                    CustomValidatorJour.ErrorMessage = "<img src=\"image-erreur.png\"></img>   Jour incorrect";
                }
        }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
               function ClientValidateJour(oSrc, args){
               if (isNaN(args.Value) == true || args.Value < 1 || args.Value > 31)
               {
                args.IsValid = false;
               }
            }
    Si je clic sur mon bouton "Ajouter l'évènement", j'ai tout une méthode qui s'exécute : requête INSERT INTO, redirection sur une autre page.
    Si le TextBox est vide, en effet, la procédure se bloque et mon message d'erreur de mon RequireFieldValidator est bien affiché dans mon ValidationSummary.

    Mais pour mon CustomValidator c'est autre chose : si je met le TextBox à 0 ou à 38 par exemple, le texte du CustomValidator s'affiche dès que je passe sur un autre TextBox, mais RIEN n'est affiché dans le ValidationSummary et de surcroit, RIEN ne bloque l'exécution de ma méthode.


    Soit je suis extrement nul avec les CustomValidator, soit je ni comprend plus rien ...
    Un peu d'aide please

    Merci de toutes réponses qui me sera utile :p

  2. #2
    Membre chevronné Avatar de jacky01
    Profil pro
    Développeur .NET
    Inscrit en
    Juin 2007
    Messages
    537
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2007
    Messages : 537
    Par défaut
    Bonjour,

    Déjà pourquoi utilises-tu deux validator ? Le custom seul suffit largement surtout que c'est un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     if(Textbox.text != string.empty)
    J'ai jamais utilisé les deux à la fois le problème viens peut-être de là.

    Personnellement dans ton cas j'utiliserais seulement le customvalidator en changeant suivant le cas le message d'erreur.

    Exemple :
    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
    26
    27
    28
    29
    30
    protected void CustomValidatorJour_ServerValidate(object source, ServerValidateEventArgs args)
        {
     
            if(TextBoxJour.Text != string.Empty)
            {
            string element = TextBoxJour.Text;
            int elementInt;
     
     
                try
                {
                   elementInt = int.Parse(element);
     
                    if ( elementInt < 1 || elementInt > 31 )
                    {
                        args.IsValid = false;
                    }
                }
                catch ( Exception ex )
                {
                    args.IsValid = false;
                    CustomValidatorJour.ErrorMessage = "<img src=\"image-erreur.png\"></img>   Jour incorrect";
                }
              }
              else
              {
                   args.IsValid = false;
                  CustomValidatorJour.ErrorMessage = "Le champ est obigatoire";
              }
        }

  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
    Oui c'est logique mais malgré cela, sa ne fonctionne toujours pas

    L'erreur ne peut pas venir de sa, car j'ai une autre page avec un RequireFieldValidator et un CustomValidator sur le même champs qui fonctionne à merveille.

  4. #4
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2007
    Messages : 871
    Par défaut
    customValidator non mappé en code-behind, ajoute donc:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OnServerValidate="CustomValidatorJour_ServerValidate"

  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
    Effectivement c'est bien sa

    Mais je ne suis pas sur de bien comprendre : pour générer la méthode CustomValidator_ServerValidate(), j'ai double-cliqué sur le CustomValidator que j'avais crée ... normalement la méthode s'ajoute toute seule au code-behind non ?

    Enfin peu importe, je vérifierai à l'avenir !

    Merciiiiiiii

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

Discussions similaires

  1. [SWING] Evenement qui ne se déclenche pas
    Par LordBob dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 15/06/2006, 15h57
  2. Evènement qui ne se déclenche pas
    Par max.lille dans le forum Langage
    Réponses: 8
    Dernier message: 09/05/2006, 15h46
  3. onmouseover qui ne se déclenche pas sous IE...
    Par narnou dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 21/03/2006, 17h26
  4. Un JOB qui ne se déclenche pas
    Par blids dans le forum Oracle
    Réponses: 15
    Dernier message: 09/02/2005, 21h14
  5. [trigger] ... qui ne se déclenche pas
    Par bozo dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 14/01/2004, 11h31

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