[ https://issues.apache.org/jira/browse/WICKET-500?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Eelco Hillenius resolved WICKET-500. ------------------------------------ Resolution: Fixed I solved it by removing final from FormComponent#getConvertedInput and implementing that method appropriately in DateField and DateTimeField. This replaces the implementation of updateModel. Comment from DateField's and DateTimeField's getConvertedInput Javadoc: * Note that overriding this method is a better option than overriding * [EMAIL PROTECTED] #updateModel()} like the first versions of this class did. The * reason for that is that this method can be used by form validators * without having to depend on the actual model being updated, and this * method is called by the default implementation of [EMAIL PROTECTED] #updateModel()} * anyway (so we don't have to override that anymore). > org.apache.wicket.extensions.yui.calendar.DateField; throws NPE upon > validation. > -------------------------------------------------------------------------------- > > Key: WICKET-500 > URL: https://issues.apache.org/jira/browse/WICKET-500 > Project: Wicket > Issue Type: Bug > Components: wicket-datetime > Environment: URL: > https://svn.apache.org/repos/asf/incubator/wicket/trunk/jdk-1.4/wicket-datetime > Revision: 532322 > Reporter: Martin Funk > Assignee: Eelco Hillenius > Fix For: 1.3.0-rc1 > > > org.apache.wicket.extensions.yui.calendar.DateField; throws NPE upon > validation. > The situation: > markup: > <span wicket:id="arrivalDateProperty" id="arrivalDateProperty" > type="text" size="15"></span> > the code: > final DateField arrivalDatePropertyTextField = new > DateField( > "arrivalDateProperty"); > arrivalDatePropertyTextField.add(DateValidator > .minimum(new DateMidnight().toDate())); > add(arrivalDatePropertyTextField); > the generated markup: > <span id="arrivalDateProperty" name="arrivalDateProperty" type="text" > size="15"> > <span style="white-space: nowrap;"> > <input id="date0" name="arrivalDateProperty:date" value="25.04.07" > type="text" size="8"/> > <span> <div style="display:none;z-index: 99999;position:absolute;" > id="date0Dp"></div><img style="cursor: pointer; border: none;" id="date0Icon" > src="resources/org.apache.wicket.extensions.yui.calendar.DatePicker/icon1.gif" > /></span><input type="hidden"/> > </span> > </span> > The stacktrace > DateConverter.convertToObject(String, Locale) line: 37 > DateField(FormComponent).convert() line: 803 > Form$13.validate(FormComponent) line: 1051 > [...] > shows that DateField 's convert() is called, which in this situation is > looking for the parameter "arrivalDateProperty" whereas it probably should > look for the parameter "arrivalDateProperty:date" > Probably its DateTextField value should be validated. > My first shot would be delegating the the DateField 's convert() method to > its DateTextField ' s convert() method, > but maybe the wicket way is different. > mf -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.