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 :

problème avec validation d'un champ double


Sujet :

Struts 1 Java

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 145
    Points : 75
    Points
    75
    Par défaut problème avec validation d'un champ double
    Bonjour,
    je veux faire une validation côté client des champs saisis au niveau du jsp,
    pour les champs qui sont obligatoire, ou qui sont de type date la validation a réussie, mais quand j'ai essayé de faire la validation d'un champ de type double, ça ne marche pas, il me permet d'entrer même une chaine de caractères.
    quand j'ai jeté un coup d'oeil sur un fichier appelé validation-rules.xml , j'ai constaté que pour date j'ai une fonction javascript qui valide le champ, mais pour double je n'ai pas de fonction javascript

    J'utilise struts 1.1, je ne sais pas est ce que je dois ajouter moi même une fonction javascript ? ou c'est quoi la solution ?

    voilà ce que j'ai mis sur ma jsp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    .....
    <html:javascript formName="PintForm" method="printTabValidation" />
    </head>
     
    <body>
     
    	<html:form method="POST" action="/tableau.do onsubmit="return printTabValidation(this)">
    .....
     
    <html:text property="champDouble"/>
     
    ...
    voilà ce que j'ai mis dans le fichier validation.xml pour la validation du champ double

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
     <field property="champDouble" depends="double">
    				<arg0 key="tableau.champ" />
    			</field>
    sur mon fichier ApplicationResources.properties

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ....
    errors.double Le champ '{0}' doit être un réel ou un réel long
    ....
    tableau.champ= Champ Tableau
    et finalement sur mon fichier validator-rules.xml j'ai trouvé juste ces lignes concernant un type double

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    ...
    <validator name="double"
                classname="org.apache.struts.validator.FieldChecks"
                   method="validateDouble"
             methodParams="java.lang.Object,
                           org.apache.commons.validator.ValidatorAction,
                           org.apache.commons.validator.Field,
                           org.apache.struts.action.ActionErrors,
                           javax.servlet.http.HttpServletRequest"
                  depends=""
                      msg="errors.double"/>
    ...

    Merci d'avancement pour votre aide,

  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
    S'il n'y a pas de fonction javascript associée, cela signifie sans doute que la validation se fera seulement côté serveur.

    Par contre, pour que la validation fonctionne côté serveur, il faut que la propriété définie dans l'ActionForm soit de type String et non de type Double parce que le Validator vérifie que le champ saisi dans le formulaire peut être converti en Double :
    double - validates that a field can be converted to a Double.

  3. #3
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 145
    Points : 75
    Points
    75
    Par défaut
    Citation Envoyé par c_nvy Voir le message
    S'il n'y a pas de fonction javascript associée, cela signifie sans doute que la validation se fera seulement côté serveur.

    Par contre, pour que la validation fonctionne côté serveur, il faut que la propriété définie dans l'ActionForm soit de type String et non de type Double parce que le Validator vérifie que le champ saisi dans le formulaire peut être converti en Double :
    Bonjour, merci pour votre réponse,
    la validation coté serveur donc au cas où on saisit autre chose que double, est ce qu'on aura un pop up affiché comme c'est le cas pour les autres validations côtés client ? oubien je dois ajouter quelque chose sur mon jsp tel que un <html:errors/> ou autre chose quelque part ?

    Merci d'avance

  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
    Pour les champs validés côté serveur, tu n'auras pas de popup.
    Les messages d'erreur s'afficheront directement dans la page en utilisant le tag <html:errors/>.
    Si tu veux seulement afficher l'erreur correspondant à champDouble, tu peux ajouter l'attribut property dans le tag html:errors comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:errors property="champDouble"/>

  5. #5
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 145
    Points : 75
    Points
    75
    Par défaut
    Citation Envoyé par c_nvy Voir le message
    Pour les champs validés côté serveur, tu n'auras pas de popup.
    Les messages d'erreur s'afficheront directement dans la page en utilisant le tag <html:errors/>.
    Si tu veux seulement afficher l'erreur correspondant à champDouble, tu peux ajouter l'attribut property dans le tag html:errors comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:errors property="champDouble"/>
    Bonsoir,
    ça marche, pour l'éclaircissement

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 12/03/2008, 16h25
  2. [XI] problème avec groupe sur un champ trié par origine ?
    Par kikidrome dans le forum SAP Crystal Reports
    Réponses: 6
    Dernier message: 11/04/2007, 15h31
  3. Problème avec validator.xml
    Par ahury dans le forum Struts 1
    Réponses: 2
    Dernier message: 19/12/2006, 17h38
  4. Problème avec validator-rules.xml
    Par steffy_29 dans le forum Struts 1
    Réponses: 1
    Dernier message: 08/12/2006, 10h51
  5. Problème avec ORDER BY et champ de type "text"
    Par mouchkar dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 04/12/2006, 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