[struts-Validator] pas d'appel javascript
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:
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 :
Citation:
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:
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> |