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

Silverlight Discussion :

Localisation message d'erreur ValidationAttribute


Sujet :

Silverlight

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 11
    Par défaut Localisation message d'erreur ValidationAttribute
    Bonjour à tous,

    aprés avoir créer une "Business Application" Silvelight 4 avec Visual Studio 2010 (version anglaise), je me posais des questions sur la localisation des
    messages d'erreurs de validation des champs (message en relation avec les attributs [StringLength], [Required], etc ...).
    Si la plupart des textes sont dans les fichiers de ressources générés, je n'arrive pas trouver ceux qui correspondent aux fameux messages indiquant un problème de saisie (tooltip fond rouge et texte blanc).

    Faut-il obligatoirement utiliser les paramètres ErrorMessageResourceName des attributs (dommage, on perd le bénéfice de l'automatisme) ?

    En définitive, quel est le meilleur moyen de localiser ces messages ?

    Merci pour votre aide.

  2. #2
    Membre averti
    Profil pro
    Ingenieur étude et développement
    Inscrit en
    Décembre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur étude et développement

    Informations forums :
    Inscription : Décembre 2009
    Messages : 29
    Par défaut
    je n'arrive pas trouver ceux qui correspondent aux fameux messages indiquant un problème de saisie (tooltip fond rouge et texte blanc).
    Pour ça je peux t'aider

    Bref les messages que tu vois sont mis dans des ressources coté serveur dont le nom est :

    ValidationErrorResources.resx

  3. #3
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Citation Envoyé par CRNice Voir le message
    Faut-il obligatoirement utiliser les paramètres ErrorMessageResourceName des attributs (dommage, on perd le bénéfice de l'automatisme) ?
    Il me semble que oui, c'est la technique pour localiser ces messages sinon, par défaut, tu vas avoir les fameux messages en anglais.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 11
    Par défaut
    Merci Aldryl et Thomas pour vos réponses.

    Aldryl, il me semble que le fichier de ressource ValidationErrorResources.resx ne concerne que les messages de création d'un utilisateur (utilisé notamment dans RegistrationData.cs).
    En tout cas, je ne vois rien dans ce fichier qui puisse correspondre aux message de validation.

  5. #5
    Membre Expert
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Par défaut
    Tu peux utiliser l'évènement BindingValidationError conjointement au paramétrage du Binding NotifyOnValidationError à True te permet de faire des choses intéressantes :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <Grid x:Name="LayoutRoot" BindingValidationError="LayoutRoot_BindingValidationError" >
     
        <TextBox Text="{Binding MonText, Mode=TwoWay, ValidatesOnExceptions=True, NotifyOnValidationError=True"></TextBox>
     
    </Grid>
    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
     
    private void LayoutRoot_BindingValidationError(object sender, ValidationErrorEventArgs e)
            {
                if (e.Action == ValidationErrorEventAction.Added)
                {
                    if (e.Error.Exception is ObjectDisposedException)
                    {
                        ToolTipService.SetToolTip(e.OriginalSource as Control, "Une erreur spécifique est apparue !");
                    }
                    else
                    {
                        // gestion par défaut des autres erreurs
                        ToolTipService.SetToolTip(e.OriginalSource as Control, "Une erreur par défaut est apparue !");
                    }
                }
            }
    Tu peux aussi te pencher sur l'interface IDataErrorInfo.

  6. #6
    Membre averti
    Profil pro
    Ingenieur étude et développement
    Inscrit en
    Décembre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur étude et développement

    Informations forums :
    Inscription : Décembre 2009
    Messages : 29
    Par défaut
    Citation Envoyé par CRNice Voir le message
    Merci Aldryl et Thomas pour vos réponses.

    Aldryl, il me semble que le fichier de ressource ValidationErrorResources.resx ne concerne que les messages de création d'un utilisateur (utilisé notamment dans RegistrationData.cs).
    En tout cas, je ne vois rien dans ce fichier qui puisse correspondre aux message de validation.
    Tu as aussi du côté client ce fichier là :

    ErrorResources.resx

    Il se trouve dans Assets-->Ressources

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 11
    Par défaut
    Merci Samoteph pour l'info sur BindingValidationError, je vais explorer dans ce sens.

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 11
    Par défaut
    Citation Envoyé par Aldryl Voir le message
    Tu as aussi du côté client ce fichier là :

    ErrorResources.resx

    Il se trouve dans Assets-->Ressources
    Hélas, aucun fichier resx (client ou serveur), ne contient un de ces messages.

  9. #9
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Oui car c'est un message d'erreur générique/standard.

Discussions similaires

  1. [TSocket] Message d'erreur
    Par rgz dans le forum Web & réseau
    Réponses: 6
    Dernier message: 04/07/2003, 09h16
  2. Surcharger le message d'erreur après un OnException
    Par Tirlibibi dans le forum XMLRAD
    Réponses: 2
    Dernier message: 24/04/2003, 11h42
  3. Réponses: 4
    Dernier message: 04/03/2003, 01h05
  4. [CR] Message d'erreur
    Par nono1 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 11/09/2002, 14h54
  5. Réponses: 2
    Dernier message: 27/05/2002, 19h46

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