Hi,
an other solution is to add a NullAcceptingValidator to your Textfield.
Thus wicket will pass to IValidator.validate(IValidatable)
See
http://ci.apache.org/projects/wicket/apidocs/6.0.x/org/apache/wicket/validation/INullAcceptingValidator.html
Cheers Fred
Am 14.02.2013 00:55, schrieb Sebastien:
Hi,
Well, the required flag ensures that the input is not empty, not that it is
of the correct type...
If the conversion fails, is it supposed (I guessed) to throw a
ConversionException.
As it seems to not be the case, I would have overridden convert input as
follow (not tested):
class MyJodaDateTextField
{
protected void convertInput()
{
super.convertInput();
Date value = this.getConvertedInput();
if (value == null)
{
//handles the error message
ValidationError error = new ValidationError();
error.addKey("MyJodaDateTextField.ConversionError"); //wicket6
//error.addMessageKey("MyJodaDateTextField.ConversionError");
//wicket1.5
error.setVariable("date", value);
this.error(error);
}
}
}
MyJodaDateTextField.properties will contain:
MyJodaDateTextField.ConversionError='${date}' is not a valid Joda datetime
Also pay attention to check the type in getConverter
{
if (Date.class.isAssignableFrom(type))
{
return (IConverter<C>)new JodaDateTimeConverter();
}
return super.getConverter(type);
}
Hope this helps,
Sebastien.
On Wed, Feb 13, 2013 at 4:46 PM, Sebastian Gaul <sebast...@mgvmedia.com>wrote:
I have a TextField which overrides it's getConverter method to add a
Joda time converter instead:
new TextField<P>(id) {
@Override
public <P> IConverter<P> getConverter(Class<P> type) {
return (IConverter<P>) new JodaDateTimeConverter();
}
};
The converter returns null if input was invalid. However, I want to be
able to flag this field as required, and I don't know how to do that:
- textField.isRequired(true) does not work, because required checks
are done before conversion. This doesn't work for non-empty but
invalid inputs.
- textField.add(.. some validator ..) does not work because no
validator is called if the converter returned null.
I really don't see an approach to flag my date fields as required. Do
you know how to do that? Probably my approach is not suited at all?
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org