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 régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 240
    Points : 104
    Points
    104
    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 sénior

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

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 915
    Points
    79 915
    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 régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 240
    Points : 104
    Points
    104
    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 régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 240
    Points : 104
    Points
    104
    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 sénior

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

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 915
    Points
    79 915
    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 régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 240
    Points : 104
    Points
    104
    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 sénior

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

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 915
    Points
    79 915
    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 régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 240
    Points : 104
    Points
    104
    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 sénior

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

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 915
    Points
    79 915
    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 régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 240
    Points : 104
    Points
    104
    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