Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

The above example also adds in JavaScript effects borrowed from the Effects example using the script.aculo.us library.

HTML Comment
hiddentrue

Everything below here was added by aakoch, a novice, so please, if there is something wrong, fix it! Thanks!

Note

The above code won't compile under 1.3.0-BETA.

Here's some code that will work with version 1.3.0-BETA.

Code Block

protected void onError(final AjaxRequestTarget target, final Form form) {
    form.visitFormComponents(new IVisitor() {
        public Object formComponent(IFormVisitorParticipant formVisitor) {
            if (formVisitor instanceof FormComponent) {
                FormComponent formComponent = (FormComponent) formVisitor;
                
                if (!formComponent.isValid()){ 
                    // If this component failed validation, do something
                    // fancy to display it to the user...
                     target.addComponent(formComponent);
					 
                     // do a little dance
                     target.appendJavascript(
                        "new Effect.Shake($('" + formComponent.getMarkupId() + "'));");
                 }
            }
            return formVisitor;
        }
	});
}

To update the feedback panel:

Code Block

protected void onError(final AjaxRequestTarget target, final Form form) {
    // or update the feedback panel
    target.addComponent(form.getPage().get("feedback"));
}