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