Try overriding the error message using these instructions:

http://tapestry.apache.org/forms-and-validation.html#FormsandValidation-CustomizingValidationMessages

Set the error message to something like "no more than %d chars allowed in
%s"

On Thursday, 8 March 2012, Lance Java <lance.j...@googlemail.com> wrote:
> 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)
>>>
 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
>>>
>>>

Reply via email to