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 :

Comment changer mon message d'erreur ? :)


Sujet :

ASP.NET

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 240
    Par défaut Comment changer mon message d'erreur ? :)
    Bonjour,

    Savez comme faire pour changer de façon dynamique "ErrorMessage" en Javascript ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
               <asp:RegularExpressionValidator ID="Address" runat="server" ErrorMessage="Veuillez saisir un numéro à 10 chiffres qui commence par 0"
                    ControlToValidate="txtAddress" ValidationExpression="^0[0-9]{9}$"
                    Display="None" SetFocusOnError="True" ValidationGroup="MonAddress" />

    D'avance merci
    ++

  2. #2
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Bonjour,

    Il faudrait regarder le HTML généré et voir l'id qui est effectivement créé pour ce champ. Ensuite vous pouvez peut-être utiliser ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("l'id").ErrorMessage='nouvelle valeur';

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 240
    Par défaut
    Je me suis aperçu qu'un tableau est crée dans le code généré. Il me semble que seul la balise <table> contient un ID, et non pas le <tr> et les <td> dans lequel est inséré le message d'erreur (Errormessage) !

    Je vais quand même essayer ce que tu me dis...!

    ++

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 240
    Par défaut
    En fait cela ne fonctionne pas de passer par le GetElementById. J'ai trouvé ceci qui fonctionne bien, une première fois, sur l'action d'un bouton. Le message est " "changé"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ctl00_xxxxx_ClientChangerAdresse_SupprimerTelephone.errormessage = "je suis le test";   
    $find("vcePhoneDeliveryAddress")._ensureCallout();
    $find("vcePhoneDeliveryAddress").show(true);      
    return false;
    Seulement, si je désire changer, pour mettre un autre, par exemple sur un évènement "onKeyUp" ce même code ne fonctionne pas. Le message reste "je suis le test".

    Une idée ?

    Est-il possible à partir de la classe CSS de modifier le contenu d'un champs ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td class="ajax__validatorcallout_error_message_cell">je suis pas là</td>



    D'avance merci
    ++

    ps : ctl00_xxxxx_ClientChangerAdresse_SupprimerTelephone est l'id du champs généré contenant le ErrorMessage

  5. #5
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Cette fonction a l'air maintenant acceptée par tous les navigateurs (sauf IE8 et inférieurs...) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var mesCellules = document.getElementsByClassName('ajax__validatorcallout_error_message_cell');
    Elle renvoi un tableau d'éléments ayant cette classe. N'ayant qu'une seule cellule de cette classe-là (oui ?), vous pouvez ensuite faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mesCellules[0].innerHTML = "nouveau message";
    Si vous avez plusieurs cellules de cette classe-là, vous devez alors faire cette recherche sur la table et non sur le document.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 240
    Par défaut
    Ca marche bien seulement, le nom de la classe est utilisé partout, et change l'intitulé là ou ça devrait pas l'être !

    Est-ce qu'on peut, à partir de l'identifiant de mon tableau, et le nom de la classe changer cette même valeur ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <table id="ma table">
    (...)
    <td class="ajax__validatorcallout_error_message_cell">je suis pas là</td>
    (...)
    </table>
    D'avance merci
    ++

  7. #7
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Oui, c'est ce que j'essayais de dire dans ma dernière remarque.

    Citation Envoyé par vermine Voir le message
    Si vous avez plusieurs cellules de cette classe-là, vous devez alors faire cette recherche sur la table et non sur le document.
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var mesCellules = document.getElementById('id de la table').getElementsByClassName('ajax__validatorcallout_error_message_cell');

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 240
    Par défaut
    lol désolé...
    Par contre je me pose la comptabilité sur les navigateurs.
    Si getElementsByClassName ne fonctionne pas sur tout les navigateurs, est-ce qu'il est possible de le remplacer par du jQuery ?

    Qu'en penses tu ?

    D'avance merci
    ++

  9. #9
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Ca reste une solution. Maintenant, c'est peut-être un peu bête d'ajouter toute une bibliothèque pour faire une seule action.

    Il faudrait essayer de récupérer toutes les <td> de la table (getElementsByTagName) et chercher celle qui a un .className égale à 'ajax__validatorcallout_error_message_cell'.

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 240
    Par défaut
    Citation Envoyé par vermine Voir le message
    Ca reste une solution. Maintenant, c'est peut-être un peu bête d'ajouter toute une bibliothèque pour faire une seule action.

    Il faudrait essayer de récupérer toutes les <td> de la table (getElementsByTagName) et chercher celle qui a un .className égale à 'ajax__validatorcallout_error_message_cell'.
    Je vais voir ça à l'usage.
    J'ai déjà la bibliothéque JQuery d'installé.

    En tout cas le comportement des errorMessage est particulier et bon à savoir malgré tout !

    Merci pour ton aide
    ++

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

Discussions similaires

  1. Comment afficher mon message d'erreur ?
    Par Cvbdev dans le forum Langages serveur
    Réponses: 0
    Dernier message: 10/08/2012, 14h45
  2. Comment changer mon identifiant ?
    Par mouloudéen dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 4
    Dernier message: 12/07/2006, 23h22
  3. Réponses: 1
    Dernier message: 02/06/2006, 10h55
  4. Comment changer le message d'erreur d'un MaskEdit...
    Par eponette dans le forum Composants VCL
    Réponses: 3
    Dernier message: 12/09/2005, 13h40
  5. comment affiché un message d'erreur
    Par djouahra.karim1 dans le forum Bases de données
    Réponses: 5
    Dernier message: 23/11/2004, 12h12

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