Ticket created, thank you for your time and explanation!

Adam


---------- Původní zpráva ----------
Od: Martin Grigorov <[email protected]>
Komu: [email protected] <[email protected]>
Datum: 28. 1. 2015 12:36:21
Předmět: Re: PropertyValidator sets "Required" flag too late

"Hi,

Yes. It is a bug. Please create a ticket.
The problem comes from the fact that you use stateless form. The required
flag is set for the form component on the rendered page, but later when the
form is submitted a new page with a new form (and components) is created
and the flag is gone.
Since there is no Behavior#onInitialize() we can only use #onBind() but as
WICKET-5329 says at this time the parent may be not yet available and the
logic breaks whenCompoundPropertyModel is used.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Wed, Jan 28, 2015 at 12:22 PM, Adam Huječek <[email protected]> wrote:

> Hello,
> I am writing a simple stateless form with validation based on annotations
> in Wicket 7.0.0-SNAPSHOT. When the model's field is annotated @NotNull and
> PropertyValidator is added to its form component, the validation error is
> not generated if user's input is empty. It seems to me that the "Required"
> flag is set too late, because while debugging I noticed that isRequired is
> called at least once before PropertyValidator's onConfigure. In the end 
the
> component has the flag set but without effect. As a workaround I have
> created descendants of CheckBox, TextArea and TextField with isRequired
> overriden as follows:
>
> @Override
> public boolean isRequired() {
> if (!isRequiredRecurse) {
> isRequiredRecurse = true;
> configure(); //this should let PropertyValidator call
> setRequired
> isRequiredRecurse = false;
> }
> return super.isRequired();
> }
>
> This fixes the problem, so it seems I configured everything correctly and
> also @Pattern works fine which leads me to think it's a bug, right? This
> may be related to issue WICKET-5329 "Required" flag initialized too early
> in PropertyValidator, which is the only ticket I found that could have any
> connection to this.
>
> Sorry if this question has been already asked and answered.
>
> Thanks!
> Adam
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>"

Reply via email to