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 :

La culture des dates dans une page


Sujet :

ASP.NET

  1. #1
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut La culture des dates dans une page
    Bonjour à tous.

    Dans un formulaire j'ai fais un Validator Custom pour gérer la cohérence d'une date de naissance

    Voici le code de la procédure :
    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
     Protected Sub cvDateNaissance_ServerValidate(ByVal source As Object, ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs) Handles cvDateNaissance.ServerValidate
            Dim frFR As New CultureInfo("fr-FR")
            Dim testdate As DateTime
     
            If DateTime.TryParseExact(args.Value, "dd/mm/yyyy", frFR, DateTimeStyles.None, testdate) Then
     
                If GetAge(args.Value) < 18 Or GetAge(args.Value) > 99 Then
                    args.IsValid = False
                Else
                    args.IsValid = True
                End If
            Else
                args.IsValid = False
            End If
        End Sub
    L'idée est de vérifier que c'est bien une date de quelqu'un qui est agé de plus de 18 ans et de moins de 100 ans.

    Maintenant le souci : mon système est installé en anglais et mon serveur SQL en Français. Ne me demandez pas pourquoi c'est comme ça et ce n'est plus modifiable (sauf emmerdement ultime façon Murphy, donc ....).

    Du coup, si je saisi 27/07/1978 il me jette au niveau du contrôle avec un message du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Conversion from string "27/07/1978" to type 'Date' is not valid.
    Mais ce que je comprends pas c'est que je lui ai dit que la culture était en France. Pourquoi il veut pas le prendre en compte ?

    Merci pour votre aide.
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  2. #2
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2009
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 229
    Points : 305
    Points
    305
    Par défaut
    Je pense qu'il faut forcer la culture de ta page dans l'aspx :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <%@ Page Language="C#" EnableEventValidation="false" Culture="fr-FR" EnableViewState="true" AutoEventWireup="true"  CodeBehind="xxx" Inherits=xxx" %>
    et au niveau de ta ScriptManager :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <asp:ScriptManager EnableScriptGlobalization="True" runat="server" />
    Accepter les critiques, c'est le premier pas pour être un bon développeur ...

  3. #3
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Points : 3 102
    Points
    3 102
    Par défaut
    Salut Zooffy,

    aguetat n'a pas tort, je pense que tu aurais plus vite fait de faire en sorte d'internationaliser ton appli pour te défaire de ces questions de culture particulièrement chiantes à gérer.

    Un petit lien sur la question.

  4. #4
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Merci pour ton aide.

    A priori c'est bon, mais ce qui m'ennui c'est que maintenant, si je saisi une date au format américain, j'ai le même message d'erreur et pas l'activation du Validator.

    Mais bon, j'ose croire que les français ne feront pas cette erreur et comme le site ne concerne que les français.

    Par contre, question subsidiaire : mon système est un poil plus complexe.
    J'ai une page default.aspx qui gère plein de site différents.
    Ensuite, je lui colle à la vollée une MasterPage et la procédure que j'ai collé est dans un componsant ASCX.

    Si je fais nu site en anglais avec Culture en-US(par exemple) ça va me poser un souci d'avoir mis ça sur la page Default.aspx ?
    Parce que dans la directive du composant, y a pas de Culture et la directive de la MasterPage non plus.
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

Discussions similaires

  1. Récupérer des info dans une page html
    Par DORBRITZ dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 06/03/2008, 11h13
  2. [RegEx] Récupérer des données dans une page Web
    Par Pragmateek dans le forum Langage
    Réponses: 8
    Dernier message: 24/05/2006, 19h44
  3. [des panneaux dans une page web] que choisir ?
    Par oursblanc dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 02/12/2005, 11h02
  4. Récupérer des données dans une page HTML
    Par newdelirium dans le forum Langage
    Réponses: 3
    Dernier message: 26/10/2005, 19h18
  5. Positionner des cellules dans une page
    Par BBe8127 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 01/10/2005, 10h25

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