ActionErrors vide pour mes validator-rules
Salut à toutes et à tous,
je voudrais créer mes propres fonction de validation pour mes ValidatorForm (vérification dans une base de donnée), et j'ai une erreur que je n'arrive pas à résoudre : j'ai l'impression que struts me donne un ActionErrors vide lorsqu'il appelle ma méthode :( :
pour tester j'ai créé un code minimal pour de ma méthode que voici :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
public static boolean utilisateurValide(
Object bean,
ValidatorAction va,
Field field,
ActionErrors errors,
HttpServletRequest request,
ServletContext application) {
System.out.println(errors.toString());
boolean bool = false;
return bool;
} |
la déclaration de mon validateur dans validator-rules.xml :
Code:
1 2 3 4 5 6 7 8 9 10
|
<validator name="utilisateurValide"
methodParams="java.lang.Object,
org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field,
org.apache.struts.action.ActionErrors,
javax.servlet.http.HttpServletRequest,
javax.servlet.ServletContext"
classname="com.monApplication.struts.StrutsValidator"
msg="error.bad.identifier" method="utilisateurValide" /> |
la déclaration de la validation de mon formulaire dans validation.xml :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
<form name="LoginForm">
<field property="identifiant"
depends="required,utilisateurValide">
<arg0 key="login" />
</field>
<field property="motDePasse"
depends="required,motDePasseValide">
<arg position="0" key="password" />
</field>
</form> |
en tout cas, lorsque je tente l'utilisation de mon formulaire, je reçois l'erreur suivante :
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 35 36 37 38 39
|
ERROR ValidatorAction - Unhandled exception thrown during validation: null
java.lang.NullPointerException
at com.monApplication.struts.StrutsValidator.utilisateurValide(StrutsValidator.java:34)
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:543)
at org.apache.commons.validator.Field.validateForRule(Field.java:766)
at org.apache.commons.validator.Field.validate(Field.java:846)
at org.apache.commons.validator.Form.validate(Form.java:290)
at org.apache.commons.validator.Validator.validate(Validator.java:354)
at org.apache.struts.validator.ValidatorForm.validate(ValidatorForm.java:113)
at org.apache.struts.chain.commands.servlet.ValidateActionForm.validate(ValidateActionForm.java:53)
at org.apache.struts.chain.commands.AbstractValidateActionForm.execute(AbstractValidateActionForm.java:100)
at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:48)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:280)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:459)
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) |
et puisque c'est une exception qu'il capture, la validation n'est tout simplement pas fait :(.
si quelqu'un à une idée, je lui serais reconnaissant de me la faire parvenir.
Merci d'avance.