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

Struts 1 Java Discussion :

validation saisie de date en fonction de la locale


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Watier_53
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 469
    Par défaut validation saisie de date en fonction de la locale
    Bonjour,

    Je cherche actuellement une solution pour la saisie de dates dans un formulaire. Actuellement un javascript vérifie le format de ma date avant la validation du formulaire.

    Avec l'internationalisation de l'application, le format de la date sera différent suivant la langue. Du coup cela implique chargement d'un javascript différent (ce qui est possible !!!) .Chaque javascript (propre à une langue) possèdant son propre type de vérification.Mais je préfèrerais une solution java avec struts. Serait-il possible avec struts de faire un contrôle de saisie sur la date avant validation du formulaire ? et que ce controle soit différent en fonction de la langue?

  2. #2
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Apparemment, il existe une solution avec le Validator.

    Dans le fichier validation.xml, tu peux définir un formset pour chaque locale.
    Et dans chaque formset, tu peux définir le format que doit respecter la date en fonction de la locale.

    Cela donnerait quelque chose du style :
    Code xml : 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
    <formset language="fr">
       <form name="nomDuFormBean">
        <field property="maDate" depends="required,date">
            <arg position="0" key="key.maDate"/>
            <var>
             <var-name>datePatternStrict</var-name>
             <var-value>dd/MM/yyyy</var-value>
            </var>
        </field>
       </form>
    </formset>
    <formset language="en">
       <form name="nomDuFormBean">
        <field property="maDate" depends="required,date">
            <arg position="0" key="key.maDate"/>
            <var>
             <var-name>datePatternStrict</var-name>
             <var-value>MM/dd/yyyy</var-value>
            </var>
        </field>
       </form>
    </formset>
    A adapter à ton cas et à tester.

  3. #3
    Membre éclairé Avatar de Watier_53
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 469
    Par défaut
    L'idée est bonne, mais ce n'est pas tout à fait ce que j'attend.
    Avec le validator, pour effectuer la validation du champ il faut cliquer sur le boutton submit du formulaire, or dans mon cas, je veux que ce soit en fonction de la saisie dans le champ texte. Et à la fin e la saisie notamment, donc avant la validation du formulaire !!

    Ce qui m'empèche d'utiliser la méthode du validatir car le javascript est appelé sur le onSubmit du formulaire.

    Il me faudrait une autre solution.

  4. #4
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Mais tu peux très bien provoquer la soumission du formulaire ou seulement la validation sur l'évènement onchange du tag html:text.

  5. #5
    Membre éclairé Avatar de Watier_53
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 469
    Par défaut
    en effet c'est possible, je suis donc en train de mettre en place le validator de struts. J'ai insérer l'appel au plugin dans struts config, désormais je bloque sur le validator-rules.xml. Pour faire une validation de date je suppose que je dois mettre quelque chose de précis ? je suis un peu perdu

  6. #6
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Il faut prendre le validator-rules.xml livré avec la version de Struts que tu utilises.
    Par contre, c'est dans le fichier validation.xml que tu dois définir les champs que tu veux valider via le Validator, comme dans l'exemple que je t'ai donné.
    En plus du code exemple, il faut mettre les balises formset dans une balise <form-validation> et référencer la dtd par exemple comme ceci :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?xml version="1.0" encoding="ISO-8859-1" ?>
     
    <!DOCTYPE form-validation PUBLIC
       "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN"
       "http://jakarta.apache.org/commons/dtds/validator_1_0.dtd">
     
    <form-validation>
      <formset ...>
       ...
      </formset>
    </form-validation>
    Dans la balise DOCTYPE, il faut que tu références la dtd du Validator qui est livré avec la version de Struts que tu utilises.

  7. #7
    Membre éclairé Avatar de Watier_53
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 469
    Par défaut
    ok ça je viens de le faire mon validator-rules.xml est ok et mon validation.xml aussi.

    Maintenant je dois modifier ma jsp ? je dois déclencher l'action sur le on change de mon html:Text ?

    et apres comment le lien est fait avec le fichier de validation.xml ?

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

Discussions similaires

  1. [WD17] Masque date pour fonction saisie()
    Par jcpas dans le forum WinDev
    Réponses: 8
    Dernier message: 07/02/2012, 14h19
  2. Saisie de date et validation
    Par Cram_N7 dans le forum Struts 2
    Réponses: 10
    Dernier message: 17/08/2009, 10h12
  3. validation date en fonction de la locale
    Par Watier_53 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/10/2008, 10h20
  4. Saisie des dates
    Par J-P-B dans le forum XMLRAD
    Réponses: 5
    Dernier message: 04/07/2003, 11h08
  5. Réponses: 3
    Dernier message: 19/03/2003, 15h19

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