Looks like you've found a bug... please file a jira for it As a workaround, override the message using the link I sent previously with a valid error message.
Cheers, Lance. On Thursday, 8 March 2012, Rural Hunter <ruralhun...@gmail.com> wrote: > update: > I found the valication messages. This is from ValidationMessages.properties: > maximum-string-length=You may provide at most %d characters for %s. > > This is from ValidationMessages_zh_CN.properties: > maximum-string-length=\u60a8\u6700\u591a\u80fd\u4e3a %s \u63d0\u4f9b\u81f3\u5c11 %d \u5b57\u7b26\u3002 > > So looks the order of %s and %d are reversed for zh_CN. > > This is from ValidationMessages_zh_CN.properties of tapestry 5.2.6 and it looks very different with the one in 5.3.1: > maximum-string-length = %2$s\u7684\u5185\u5BB9\u4E0D\u80FD\u8D85\u8FC7%1$d\u5B57\u7B26\u3002 > ---------- > I didn't set any language in this test app. So tapestry might be using my locale(Chinese). Where can I find the default property setting for Chinese? > > δΊ 2012/3/8 18:14, Lance Java ει: >> >> What language are your error messages displaying in? >> >> Perhaps there is a bad format in one of the language property files. >> >> FYI, the validator is looking for a property named "maximum-string-length" >> >> On Thursday, 8 March 2012, Lance Java<lance.j...@googlemail.com> wrote: >> >> 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) >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >