Le JavaScript de validation ne se lance pas lors du submit et je n'ai pas d'erreur JavaScript. Je n'ai pas d'erreur Java non plus (sauf sur la date). En effectuant le submit si mes données sont OK il n'y a pas de pb, sinon ça plante sans message d'erreur (sauf date). Le submit se fait en appelant un javascript (qui fonctionne).
HTML rendu par la JSP :
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
...
function changeOnglet(nouvelleAction) {
        MM_changeProp('modifMode','','value','CHANGE','INPUT/TEXT');
        MM_changeProp('ongletArrivee','','value',nouvelleAction,'INPUT/TEXT');
        document.CasuModifEtatCivilForm.submit();
}
...
<form name="CasuModifEtatCivilForm" method="post" action="/appli/casuModifEtatCivil.do" onsubmit="return validateCasuModifEtatCivilForm(this);">
...
</form>
<script type="text/javascript" language="Javascript1.1">
<!-- Begin
 
     var bCancel = false;
 
    function validateCasuModifEtatCivilForm(form) {                                                                  
        if (bCancel)
      return true;
        else
 var formValidationResult;
       formValidationResult = validateDate(form) && validateMinLength(form);
     return (formValidationResult == 1);
   }
 
    function CasuModifEtatCivilForm_DateValidations () {
     this.a0 = new Array("dateDemande", "la date de demande doit être au format jj/mm/aaaa n'est pas une date valide.", new Function ("varName", " return this[varName];"));
    }
 
    function CasuModifEtatCivilForm_minlength () {
     this.a0 = new Array("numSSMonsieur", "un numéro de sécurité sociale doit comporter 13 chiffres exactement ne peut être inférieur à {1} caractères.", new Function ("varName", "this.minlength='13';  return this[varName];"));
    }
//End -->
</script>
<script language="Javascript1.1" src="staticJavascript.jsp"></script>
Erreur quand j'entre "a" dans la date :
21 sept. 09:59:22 INFO [http-8080-Processor22] fr.appli.form.casu.CasuModifEtatCivilForm - reset : debut
21 sept. 09:59:22 INFO [http-8080-Processor22] fr.appli.form.casu.CasuModifEtatCivilForm - reset : fin
21 sept. 09:59:22 WARN [http-8080-Processor22] org.apache.commons.validator.GenericTypeValidator - a
java.text.ParseException: Unparseable date: "a"
at java.text.DateFormat.parse(Unknown Source)
at org.apache.commons.validator.GenericTypeValidator.formatDate(GenericTypeValidator.java:180)
at org.apache.struts.validator.FieldChecks.validateDate(FieldChecks.java:550)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.commons.validator.ValidatorAction.executeValidationMethod(ValidatorAction.java:567)
at org.apache.commons.validator.Field.validateForRule(Field.java:827)
at org.apache.commons.validator.Field.validate(Field.java:906)
at org.apache.commons.validator.Form.validate(Form.java:174)
at org.apache.commons.validator.Validator.validate(Validator.java:367)
at org.apache.struts.validator.DynaValidatorForm.validate(DynaValidatorForm.java:110)
at org.apache.struts.action.RequestProcessor.processValidate(RequestProcessor.java:928)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:204)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)
La version jsp de la page est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
<html:form action="casuModifEtatCivil.do" onsubmit="return validateCasuModifEtatCivilForm(this);">
...
</html:form>
<html:javascript formName="CasuModifEtatCivilForm" 
dynamicJavascript="true" staticJavascript="false"/>
<script language="Javascript1.1" src="<%=request.getContextPath()%>/jsp/scripts/staticJavascript.jsp"></script>