Updated Branches: refs/heads/master 1b9801afe -> 5cb09312c
WICKET-4641 AjaxFallbackLink and log a warning when there are several ajax event behaviors on the same event Allow AjaxFallbackButton to be used only with <input> or <button>. Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/5cb09312 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/5cb09312 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/5cb09312 Branch: refs/heads/master Commit: 5cb09312ccba623614bf1978125290316d21e748 Parents: 1b9801a Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Fri Jul 27 18:25:37 2012 +0300 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Fri Jul 27 18:25:37 2012 +0300 ---------------------------------------------------------------------- .../ajax/markup/html/form/AjaxFallbackButton.java | 17 +++++++++++++++ 1 files changed, 17 insertions(+), 0 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/5cb09312/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxFallbackButton.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxFallbackButton.java b/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxFallbackButton.java index ab0659e..ba7fdb0 100644 --- a/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxFallbackButton.java +++ b/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxFallbackButton.java @@ -21,6 +21,7 @@ import org.apache.wicket.ajax.AjaxChannel; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.ajax.attributes.AjaxRequestAttributes; import org.apache.wicket.ajax.form.AjaxFormSubmitBehavior; +import org.apache.wicket.markup.ComponentTag; import org.apache.wicket.markup.html.form.Button; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.model.IModel; @@ -204,4 +205,20 @@ public abstract class AjaxFallbackButton extends Button { return isEnabledInHierarchy(); } + + @Override + protected void onComponentTag(ComponentTag tag) + { + String tagName = tag.getName(); + if (!("input".equalsIgnoreCase(tagName) || "button".equalsIgnoreCase(tagName))) + { + String msg = String.format("%s must be used only with <input type=\"submit\"> or <input type=\"submit\"> markup elements. " + + "The fallback functionality doesn't work for other markup elements. " + + "Component path: %s, markup element: <%s>.", + AjaxFallbackButton.class.getSimpleName(), getClassRelativePath(), tagName); + findMarkupStream().throwMarkupException(msg); + } + + super.onComponentTag(tag); + } }
