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 d'un formulaire dynamique


Sujet :

Struts 1 Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 277
    Points : 105
    Points
    105
    Par défaut Validation d'un formulaire dynamique
    Bonjour,

    J'ai un problème dans la validation d'un formulaire, dans mon fichier struts-config.xml j'ai le formulaire suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	<form-beans>
       	 <!-- Si nous validons de forme dynamique le formulaire, alors nous n’avons pas besoin de crée les les clase qui dérive de ActionForm. -->
       	 <form-bean name="loginForm" type="org.apache.struts.validator.DynaValidatorForm">
    		<form-property name="nombre" type="java.lang.String"></form-property>
    		<form-property name="password" type="java.lang.String"></form-property>
    	 </form-bean>
    	</form-beans>
    et aussi la localisation des fichier de validation:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
    		<set-property property="pathnames" 	value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
    	</plug-in>


    voici le contenu du fichier validation.xml en relation avec ce formulaire:

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <form-validation>
    	<formset>
    		<form name="loginForm">
    			<field property="nombre"  depends="required, minlength, maxlength">
    				<arg0 key="label.nombre" />
    				<arg1 name="minlength" key="${var:minlength}" resource="false"/>
    				<arg2 name="maxlength" key="${var:maxlength}" resource="false"/>
    				<var>
    					<var-name>minlength</var-name>
    					<var-value>3</var-value>
    				</var>
    				<var>
    					<var-name>maxlength</var-name>
    					<var-value>50</var-value>
    				</var>
    			</field>
     
    			<field property="password" 	depends="required, minlength,maxlength">
    				<arg0 key="label.password" />
    				<arg1 name="minlength" key="${var:minlength}" resource="false" />
    				<arg2 name="maxlength" key="${var:maxlength}" resource="false" />
    				<var>
    					<var-name>minlength</var-name>
    					<var-value>3</var-value>
    				</var>
    				<var>
    					<var-name>maxlength</var-name>
    					<var-value>30</var-value>
    				</var>
    			</field>
     
    		</form>
    	</formset>
    </form-validation>

    dans ma classe qui a pour but de faire des opérations sur ce formulaire j'ai:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DynaValidatorForm myform = (DynaValidatorForm) form;
    		System.out.println("Nom: " + myform.get("nombre"));
    		System.out.println("Prénom :" + myform.get("password"));
    je pensais avoir tout bien défini, mais j'ai un jolie message d'erreur:


    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    SEVERE: reflection: org.apache.struts.validator.FieldChecks.validateRequired(java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest)
    java.lang.NoSuchMethodException: org.apache.struts.validator.FieldChecks.validateRequired(java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest)
    	at java.lang.Class.getMethod(Unknown Source)
    	at org.apache.commons.validator.Validator.validateFieldForRule(Validator.java:401)
    	at org.apache.commons.validator.Validator.validateField(Validator.java:544)
    	at org.apache.commons.validator.Validator.validate(Validator.java:582)
    	at org.apache.struts.validator.DynaValidatorForm.validate(DynaValidatorForm.java:151)
    	at org.apache.struts.action.RequestProcessor.processValidate(RequestProcessor.java:942)
    	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:255)
    	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
    	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    	at java.lang.Thread.run(Unknown Source)

    Je vous remercie d'avance pour une possible piste.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 277
    Points : 105
    Points
    105
    Par défaut Validation d'un formulaire dynamique
    J'ai trouvé la solution dans un document sur google

    files into WEB-INF
    or the module folder under WEB-INF

    GOTCHA: be very sure you are using the same versions of your struts.jar & the validator xml files
    if you do not you will get strange errors like this:
    java.lang.NoSuchMethodException: org.apache.struts.validator.FieldChecks.validateRequired(java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, javax.servlet.http.HttpServletRequest)
    et oui il faut la bonne version de struts.jar. Mois j'ai tenté un au hasard différent de celui que j'avais et boom ça marche, ensuite il faut ajouter plusieurs bibliothèque commons-validator.jar et autre...


    Voilà c'est résolu

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

Discussions similaires

  1. Formulaires dynamique et validation
    Par sir_gcc dans le forum JSF
    Réponses: 6
    Dernier message: 02/05/2007, 17h36
  2. Validation formulaire dynamique
    Par touriste44 dans le forum Struts 1
    Réponses: 6
    Dernier message: 02/11/2005, 12h10
  3. Validation formulaire dynamique
    Par odelayen dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/08/2005, 17h47
  4. Réponses: 11
    Dernier message: 16/09/2004, 11h39
  5. [struts]Formulaire dynamique
    Par GreenJay dans le forum Struts 1
    Réponses: 8
    Dernier message: 28/05/2004, 16h35

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