@Bas, I was originally adding it to the form (which is in a parent
component), but it just wasn’t working.  I’m sure I’m missing something
about the nature of parent/child components.

@Sven Can you elaborate for me a little more (still a Wicket newb).  Can I
use a AjaxEventBehavior with a Form?

Thanks!

-Lon

On Wed, May 18, 2016 at 5:31 AM, Sven Meier <s...@meiers.net> wrote:

> Thanks Bas!
>
> I see, this is new in Wicket 7.x (WICKET-5196).
>
> We could delay the check for the parental form into #onConfigure().
>
> IMHO a better solution would be to use a bubbling event instead (e.g.
> "focusout") and attaching a single listener to the form (instead of adding
> a behaviors to each contained formComponent).
>
> Sven
>
>
>
> On 18.05.2016 13:23, Bas Gooren wrote:
>
>> Uhh, that error message is right there on the AFVB’s onBind():
>>
>>
>> https://github.com/apache/wicket/blob/master/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormValidatingBehavior.java#L102
>>
>> The problem is that the check for a parent form is happening in onBind(),
>> so when the behavior is attached to a component.
>> In other words: you can only add AFVB to a component _after_ you have
>> added that component to a Form.
>>
>> I suspect that the main reason for this is that this behavior is meant to
>> be used on a whole form, not a single form component.
>> Even when you attach it to a single component, it will always validate
>> _all_ components in the form.
>> See
>> https://github.com/apache/wicket/blob/master/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormValidatingBehavior.java#L117
>>
>> The OP should probably be using a AjaxFormComponentUpdatingBehavior,
>> adding any feedback panels in onUpdate() and onError().
>>
>> Met vriendelijke groet,
>> Kind regards,
>>
>> Bas Gooren
>>
>> Op 18 mei 2016 bij 11:29:26, Sven Meier (s...@meiers.net) schreef:
>>
>> Hi,
>>
>> I cannot find that error message in Wicket's source.
>>
>> Are you using org.apache.wicket.ajax.form.AjaxFormValidatingBehavior or
>> some subclass or alternative?
>>
>> Have fun
>> Sven
>>
>>
>> On 18.05.2016 02:37, Lon Varscsak wrote:
>>
>>> Hey guys, I may be missing something here, but if I do:
>>>   TextField textField = new TextField<String>("keyCode", new
>>> PropertyModel<>(
>>> order, OrderHeader.SOURCE_KEY_KEY));
>>>   textField.add(new AjaxFormValidatingBehavior("blur"));
>>>     * add(textField);*
>>>   I get an error “*AjaxFormValidatingBehavior should be bound to a Form
>>> component or a component that is inside a form!*”
>>>   If I change it to:
>>>   TextField textField = new TextField<String>(“keyCode", new
>>> PropertyModel<>(
>>> order, OrderHeader.SOURCE_KEY_KEY));
>>>     * add(textField);*
>>>   textField.add(new AjaxFormValidatingBehavior("blur"));
>>>   It works. Basically the AjaxFormValidatingBehavior is expecting to
>>> find a
>>> form in it’s parent, but it’s parent hasn’t been assigned yet.
>>>   Is this expected behavior?
>>>   Thanks,
>>>   Lon
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>>
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>

Reply via email to