i didn't have time to read your question, but i wanted to just interject that we already have very full support for date validation...
the idea with validators in wicket is that you should very /rarely/ ever write one.
if your problem is something generic, maybe it belongs in wicket core...
what is the basic thing you are trying to do?
jon
Stefan Lindner wrote:
Thank you all for your very quick answer, but I still have a problem.
1. I moved to 0.9.19bata. My setup is JDK 1.5, Tomcat 5.0.28 inside of Jboss 4.0.1SP1 with EJB3Preview4
2. My HTML-page looks like this:
<P> <FORM id="wicket-datenForm"> <P> Text1: <input id="wicket-text1" type="text" value="val1"/> </P> <P> Text2: <input id="wicket-text2" type="text" value="val2"/> </P> <P> <input type="submit" value="speichern"/> </P> </FORM></P>
3. I have a Class "Daten" like this:
package de.visionet.test;
import java.io.Serializable;
public class Daten implements Serializable { private String text1; private String text2; public Daten() {} public Daten (final Daten daten) { this.text1 = daten.text1; this.text2 = daten.text2; } public String getText1() { return this.text1; } public void setText1(String text) { this.text1 = text; }
public String getText2() { return this.text2; } public void setText2(String text) { this.text2 = text; } }
3. I have a Custom validator
package de.visionet.test;
import wicket.markup.html.form.validation.CustomValidator;
public class DatumsValidator extends CustomValidator {
public static final long serialVersionUID = 1L; public void onValidate(String value) { if (value.equalsIgnoreCase("fehler")) this.error(); } }
4. And I have a Class for the form
package de.visionet.test;
import wicket.markup.html.form.Form; import wicket.markup.html.form.TextField;
public class DatenForm extends Form {
public static final long serialVersionUID = 1L;
private final Daten daten = new Daten();
public DatenForm(final String componentName) { super(componentName, null); TextField text1 = new TextField("text1", daten, "text1"); text1.add(new DatumsValidator()); add(text1); add(new TextField("text2", daten, "text2")); }
public final void onSubmit() { System.out.println(">>>>>>>>>>\tDaten.text1 = " + daten.getText1()); System.out.println(">>>>>>>>>>\tDaten.text2 = " + daten.getText2()); } }
5. The code works well until I enter "fehler" in the first input field what causes "this.error()" in my validator "DatumsValidator"; The result in the browser window is
javax.servlet.ServletException: Wicket could not render page wicket.RequestCycle.onRuntimeException(RequestCycle.java:596) wicket.RequestCycle.render(RequestCycle.java:434) wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:163) wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:185) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) javax.servlet.http.HttpServlet.service(HttpServlet.java:810) org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilte r.java:75)
root cause
wicket.WicketRuntimeException: Method public abstract void wicket.markup.html.form.IFormSubmitListener.onFormSubmitted() of interface IFormSubmitListener threw an exception wicket.protocol.http.WebRequestCycle.invokeInterface(WebRequestCycle.jav a:403) wicket.protocol.http.WebRequestCycle.invokeInterface(WebRequestCycle.jav a:421) wicket.protocol.http.WebRequestCycle.callComponentListener(WebRequestCyc le.java:330) wicket.protocol.http.WebRequestCycle.onRender(WebRequestCycle.java:205) wicket.RequestCycle.render(RequestCycle.java:429) wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:163) wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:185) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) javax.servlet.http.HttpServlet.service(HttpServlet.java:810) org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilte r.java:75)
And on the server side
20:22:59,291 ERROR [Engine] StandardWrapperValve[WicketTest]: Servlet.service() for servlet WicketTest threw exception wicket.WicketRuntimeException: Method public abstract void wicket.markup.html.form.IFormSubmitListener.onFormSubmitted() of interface IFormSubmitListener threw an exception at wicket.protocol.http.WebRequestCycle.invokeInterface(WebRequestCycle.jav a:403) at wicket.protocol.http.WebRequestCycle.invokeInterface(WebRequestCycle.jav a:421) at wicket.protocol.http.WebRequestCycle.callComponentListener(WebRequestCyc le.java:330) at wicket.protocol.http.WebRequestCycle.onRender(WebRequestCycle.java:205) at wicket.RequestCycle.render(RequestCycle.java:429) at wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:163) at wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:185) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica tionFilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt erChain.java:157) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilte r.java:75) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica tionFilterChain.java:186) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt erChain.java:157) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv e.java:214) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo ntext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5 20) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardCon textValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv e.java:152) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo ntext.java:104) at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipa lValve.java:66) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo ntext.java:102) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAs sociationValve.java:150) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo ntext.java:102) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.j ava:54) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo ntext.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5 20) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java :137) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo ntext.java:104) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java :118) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo ntext.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5 20) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve. java:109) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo ntext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5 20) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:79 9) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC onnection(Http11Protocol.java:705) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:57 7) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool .java:683) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.reflect.InvocationTargetException 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 wicket.protocol.http.WebRequestCycle.invokeInterface(WebRequestCycle.jav a:394) ... 41 more Caused by: java.util.MissingResourceException: Unable to find resource: datenForm.text1.DatumsValidator at wicket.Localizer.getString(Localizer.java:110) at wicket.Localizer.getString(Localizer.java:212) at wicket.markup.html.form.validation.AbstractValidator.error(AbstractValid ator.java:90) at wicket.markup.html.form.validation.AbstractValidator.error(AbstractValid ator.java:117) at wicket.markup.html.form.validation.AbstractValidator.error(AbstractValid ator.java:72) at de.visionet.test.DatumsValidator.onValidate(DatumsValidator.java:22) at wicket.markup.html.form.validation.StringValidator.onValidate(StringVali dator.java:33) at wicket.markup.html.form.validation.AbstractValidator.validate(AbstractVa lidator.java:150) at wicket.markup.html.form.FormComponent.validate(FormComponent.java:574) at wicket.markup.html.form.Form$1.formComponent(Form.java:115) at wicket.markup.html.form.Form$5.component(Form.java:416) at wicket.MarkupContainer.visitChildren(MarkupContainer.java:414) at wicket.markup.html.form.Form.visitFormComponents(Form.java:412) at wicket.markup.html.form.Form$DefaultFormValidationDelegate.validate(Form .java:110) at wicket.markup.html.form.Form.validate(Form.java:380) at wicket.markup.html.form.Form.onValidate(Form.java:347) at wicket.markup.html.form.Form.onFormSubmitted(Form.java:245)
Can anybody help ma any further?
Regards
Stefan Lindner ------------------------------------------------------------------------ -- Visionet GmbH, Am Weichselgarten 7, 91058 Erlangen Tel.: (09131)691-230, FAX: (09131)691-111 E-Mail: mailto:[EMAIL PROTECTED], Internet: http://www.visionet.de
------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95&alloc_id396&op�k _______________________________________________ Wicket-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/wicket-user
------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95&alloc_id396&op=click _______________________________________________ Wicket-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/wicket-user
