Have you overridden the validation error message? Tapestry is having troubles showing an error message and is trying to push a string where an integer should go.
Somewhere in the validation error message, there is a %d where it should be a %s. On Thursday, 8 March 2012, Rural Hunter <ruralhun...@gmail.com> wrote: > I just meet a strange error with MaxLength Validator with tapestry 5.3.1. My test page is vary simple(copied from jump start): > Page: > <form t:type="form" t:id="inputs"> > <t:errors/> > <table> > <tr> > <td>aaa:</td> > <td><input t:type="TextField" t:id="firstName" t:validate="maxlength=5"/></td> > <td>(required, maxLength=10, letters only)</td> > </tr> > <tr> > <td></td> > <td><input type="submit" value="Display"/></td> > <td></td> > </tr> > </table> > </form> > > Then the page run with error: > CreatingValidators1:firstname (class org.apache.tapestry5.corelib.components.TextField) > context:CreatingValidators1.tml, line 17 > 12 <form t:type="form" t:id="inputs"> > 13 <t:errors/> > 14 <table> > 15 <tr> > 16 <td>aaa:</td> > 17 <td><input t:type="TextField" t:id="firstName" t:validate="maxlength=5"/></td> > 18 <td>(required, maxLength=10, letters only)</td> > 19 </tr> > 20 <tr> > 21 <td></td> > 22 <td><input type="submit" value="Display"/></td> > > org.apache.tapestry5.ioc.internal.util.TapestryException > d != java.lang.String > > location > context:CreatingValidators1.tml, line 17 > > java.util.IllegalFormatConversionException > d != java.lang.String > > argumentClass > class java.lang.String > conversion > d > Filter stack frames Stack trace > > java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:3999) > java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:2709) > java.util.Formatter$FormatSpecifier.print(Formatter.java:2661) > java.util.Formatter.format(Formatter.java:2433) > java.util.Formatter.format(Formatter.java:2367) > java.lang.String.format(String.java:2813) > org.apache.tapestry5.ioc.internal.util.MessageFormatterImpl.format(MessageFormatterImpl.java:49) > org.apache.tapestry5.validator.MaxLength.buildMessage(MaxLength.java:39) > org.apache.tapestry5.validator.MaxLength.render(MaxLength.java:48) > org.apache.tapestry5.validator.MaxLength.render(MaxLength.java:23) > org.apache.tapestry5.internal.services.FieldValidatorImpl.render(FieldValidatorImpl.java:56) > org.apache.tapestry5.internal.services.CompositeFieldValidator.render(CompositeFieldValidator.java:45) > org.apache.tapestry5.corelib.base.AbstractTextField.begin(AbstractTextField.java:167) > org.apache.tapestry5.corelib.base.AbstractTextField.beginRender(AbstractTextField.java) > > I don't understand what happened internally. The same code works fine with tapestry 5.2. > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >