I have such things in my Java code:
//...omitted some not revelant code
AjaxIndicatorAppender indicator = new AjaxIndicatorAppender();
final RequiredTextField<String> nickField = new RequiredTextField<String>( "nick", new PropertyModel<String>( this, "nickValue" ) );
formContainer.add( nickField );
indicator.bind(nickField);
nickField.add( new MyValidatingBehaviour( (Form) formContainer, "onkeyup", Duration.ONE_SECOND, indicator ) );
//...
private class MyValidatingBehaviour extends AjaxFormValidatingBehavior implements IAjaxIndicatorAware
{
AjaxIndicatorAppender indicator;
private MyValidatingBehaviour( Form<?> form, String event, final Duration throttleDelay, AjaxIndicatorAppender indicator )
{
super( form, event );
this.setThrottleDelay( throttleDelay );
this.indicator = indicator;
}
@Override
public String getAjaxIndicatorMarkupId()
{
return indicator.getMarkupId();
}
}
But nothing happens, there’s no any indicator, am I doing something wrong? Couldnt find any example for my case
Instead of
it should be
And it works 🙂