i think that was legacy behavior because onError() did not always exist.
feel free to fix it, in 1.3 we can make the break -igor On 12/11/06, Johan Compagner <[EMAIL PROTECTED]> wrote:
We now have this: protected final void onEvent(final AjaxRequestTarget target) { final FormComponent formComponent = getFormComponent(); boolean callOnUpdate = true; try { formComponent.inputChanged(); formComponent.validate(); if (formComponent.hasErrorMessage()) { formComponent.invalid(); onError(target, null); } else { formComponent.valid(); formComponent.updateModel(); } } catch (RuntimeException e) { callOnUpdate = false; onError(target, e); } if (callOnUpdate) { onUpdate(target); } } why is onUpdate(target) also called when onError is also called (if it has errormessages) shouldn't it be: protected final void onEvent(final AjaxRequestTarget target) { final FormComponent formComponent = getFormComponent(); boolean callOnUpdate = true; try { formComponent.inputChanged(); formComponent.validate(); if (formComponent.hasErrorMessage()) { formComponent.invalid(); callOnUpdate = false; onError(target, null); } else { formComponent.valid(); formComponent.updateModel(); } } catch (RuntimeException e) { callOnUpdate = false; onError(target, e); } if (callOnUpdate) { onUpdate(target); } } or (but then onError is called when onUpdate fails....) protected final void onEvent(final AjaxRequestTarget target) { final FormComponent formComponent = getFormComponent(); try { formComponent.inputChanged(); formComponent.validate(); if (formComponent.hasErrorMessage()) { formComponent.invalid(); onError(target, null); } else { formComponent.valid(); formComponent.updateModel(); onUpdate(target); } } catch (RuntimeException e) { callOnUpdate = false; onError(target, e); } } johan