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 :

[Validator] vérif ok mais popup sans message ?


Sujet :

Struts 1 Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 55
    Points : 47
    Points
    47
    Par défaut [Validator] vérif ok mais popup sans message ?
    Bonjour à tous,
    je commence à découvrir le validator de struts et je tente d'implémenter les controles en javascript sur ma page.

    J'ai donc un champ Date que j'ai rendu obligatoire. Dans mon validation.xml j'ai mis les infos suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    		<form name="missionForm">
    			<field property="dateDebut" depends="required, date">
    				<arg key="[Date début]" resource="false" />
    				<var>
    					<var-name>datePattern</var-name>
    					<var-value>dd/MM/yyyy</var-value>
     
    				</var>      
    			</field>
    		</form>
    Quand je suis sur mon formulatire et que je le valide, si le champ est vide j'ai bien le message "Le champ [Date début] est obligatoire".

    Mais quand je met une date bidon, j'ai bien le controle mais le "alert" javascript ne m'indique pas de message, j'ai juste une boite de dialogue vide qui apparait (quand je met une date valide ça passe sans souci, j'en déduis que mon controle fonctionne mais je comprend pas comment obtenir le message).

    Pour info, je n'utilise pas de fichier de ressource (pas encore en tout cas). Est ce obligatoire pour le cas de la vérification de date ? (vu que ca ne l'est visiblement pas pour le "required").

    Aussi, dans plusieurs tutoriel/forum/etc je vois que dans la balise field on utilise des balises arg numérotées (arg0, arg1, etc) mais lorsque je le fais, la dtd me met mon fichier xml en erreur en me disant que la balise field ne peut contenir que des msg, arg ou var. Est ce parceque j'utilise une version plus récente du validator ?

    Merci d'avance pour vos réponse.

    edit : apparemment j'ai trouvé ces histoires de arg numérotés. Maintenant il faudrait mettre un attribut "position" dans la balise arg. Dites moi si je me trompe

  2. #2
    Expert éminent

    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
    Points : 7 778
    Points
    7 778
    Par défaut
    Je pense qu'il faut que tu utilises un fichier de ressources pour que ça fonctionne correctement.
    Fais le test avec un fichier de ressources et dis-nous ce que ça donne.
    Modératrice Java - Struts, Servlets/JSP, ...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 55
    Points : 47
    Points
    47
    Par défaut
    ca marche impeccable avec un fichier de ressource :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    			<field property="dateDebut" depends="required, date">
    				<msg name="required" key="dateDebut.obligatoire"/>
    				<msg name="date" key="dateDebut.erreurDate"/>
    				<var>
    					<var-name>datePattern</var-name>
    					<var-value>dd/MM/yyyy</var-value>
    				</var>
    			</field>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dateDebut.obligatoire=La date de début est obligatoire
    dateDebut.erreurDate=La date de début n'est pas au format JJ/MM/AAAA
    j'aurais aimé m'en passer, mais à défaut c'est peut etre pas un mal ... qqun ayant l'habitude de travailler avec struts pourrait me conseiller là dessus ? Est il préférable d'avoir un fichier de ressource pour gérer ces messages ?

  4. #4
    Expert éminent

    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
    Points : 7 778
    Points
    7 778
    Par défaut
    Struts te permet de centraliser tous les libellés de tes messages dans un fichier properties (ou même plusieurs si besoin est).
    C'est à mon avis plus propre et plus pratique à maintenir.

    Pour info, plutôt que d'utiliser la balise msg tu peux faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    	<field property="dateDebut" depends="required, date">
    		<arg key="dateDebut"/>
    		<var>
    			<var-name>datePattern</var-name>
    			<var-value>dd/MM/yyyy</var-value>
    		</var>      
    	</field>
    et dans le fichier ressources :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #
    errors.required={0} est obligatoire.
    errors.date={0} n'est pas une date.
    #
    dateDebut=La date de début
    errors.required et errors.date font partie des messages par défaut utilisés par le Validator.

    Tu trouveras la liste de ces messages dans le commentaire du fichier validator-rules.xml avec le libellé des messages en anglais.

    Je peux te donner ceux que j'ai codé en français dans mon appli :
    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
    17
     
    # -- validator --
    errors.invalid={0} est invalide. 
    errors.maxlength={0} ne peut contenir plus de {1} caractères.
    errors.minlength={0} ne peut contenir moins de {1} caractères.
    errors.range={0} n'est pas dans l'intervalle de {1} à {2}.
    errors.required={0} est obligatoire.
    errors.multiple={0} et {1} sont obligatoires.
    errors.byte={0} doit être un octet.
    errors.date={0} n'est pas une date.
    errors.double={0} doit être un double.
    errors.float={0} doit être un réel.
    errors.integer={0} doit être un entier.
    errors.long={0} doit être un entier long.
    errors.short={0} doit être un entier court.
    errors.creditcard={0} n'est pas un numéro de carte de crédit valide.
    errors.email={0} n'est pas une adresse e-mail valide.
    Cette liste n'est peut-être pas exhaustive. A vérifier.
    Modératrice Java - Struts, Servlets/JSP, ...

Discussions similaires

  1. [PHP 5.1] E-mail avec pièce jointe mais sans message
    Par olikhvar dans le forum Langage
    Réponses: 3
    Dernier message: 27/04/2010, 10h22
  2. struts validator coté client, alertbox sans message
    Par jayjaypg22 dans le forum Struts 1
    Réponses: 2
    Dernier message: 23/02/2010, 11h01
  3. fermeture d'une fenetre sans message de validation
    Par josémaria dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 09/11/2006, 10h03
  4. lancer popup sans evenement
    Par zola dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/06/2005, 14h38

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