sure, if you know to override NumberValidator.minimum with:

label.myminimum=My Object at row: {0} with value
NumberValidator.minimum=${label} '${input}' must be smaller than
${minimum}

It seems odd because:
1) NumberValidator.minimum (or any other entry in
Application.properties) does not use ${label} by default
2) label.myminimum has to be worded in a way that would accommodate all
types of IValidator that may be used
3) label.myminimum shouldn't really exist on it's own
4) It's not very intuitive to use the label because... well... it's a
label, not a validation message :o)

If there were a means to add a IModel when adding any of the validators
(as described) it would follow the standard Wicket protocol of using
models. Any thoughts?

-----Original Message-----
From: Igor Vaynberg [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, May 20, 2008 1:52 PM
To: users@wicket.apache.org
Subject: Re: Providing IModel to Validators

that is why formcomponents have a setLabel(IModel<String>) whose text is
then available via ${label} place holder.

-igor


On Tue, May 20, 2008 at 7:14 AM, Hoover, William <[EMAIL PROTECTED]>
wrote:
>
> What does everyone think about updating the Wicket core validators to 
> contain an optional IModel?
>
> Simple Use Case:
> # properties file
> label.myminimum=My Object at row: {0} with value '${input}' must be 
> smaller than ${minimum}
>
> ...
> final RefreshingView myView = new RefreshingView("tr-my-object-view")
{
>        protected final void populateItem(final Item item) {
>                ...
>                final TextField myTextField = new 
> TextField("input-text-field");
>                final IModel myMinValidatorModel = new 
> StringResourceModel("label.myminimum", item, null, new Object[] {
> item.getIndex() });
>
> myTextField.add(NumberValidator.MinimumValidator.minimum(10L,
> myMinValidatorModel);
>                ...
>        }
> };
> ...
>
> So, instead of seeing a very general message that could apply to any 
> number of fields that may contain the same value:
> ...
> '0' is smaller than the minimum of 10.
> '0' is smaller than the minimum of 10.
> '0' is smaller than the minimum of 10.
> ...
>
> You would see this:
> ...
> My Object at row: 1 with value '0' must be smaller than 10 My Object 
> at row: 12 with value '0' must be smaller than 10 My Object at row: 20

> with value '0' must be smaller than 10 ...
>
> The problem with just overriding the "NumberValidator.minimum" 
> resource in this example is that makes it difficult to add custom 
> property values (i.e. the index in example).
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to