Author: jdonnerstag
Date: Fri Jun 19 18:55:04 2009
New Revision: 786627

URL: http://svn.apache.org/viewvc?rev=786627&view=rev
Log:
fixed: Form gets submitted using AjaxSubmitBehavior when sub-form has error's
Issue: WICKET-2202

Modified:
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java
    
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/validation/HomePageTest.java
    
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/validation/MyPanel.java

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java?rev=786627&r1=786626&r2=786627&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java 
(original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java 
Fri Jun 19 18:55:04 2009
@@ -1238,11 +1238,15 @@
                        }
                };
 
-               visitChildren(FormComponent.class, new IVisitor<Component>()
+               visitChildren(Component.class, new IVisitor<Component>()
                {
                        public Object component(final Component component)
                        {
-                               return visitor.component(component);
+                               if ((component instanceof Form) || (component 
instanceof FormComponent))
+                               {
+                                       return visitor.component(component);
+                               }
+                               return Component.IVisitor.CONTINUE_TRAVERSAL;
                        }
                });
 

Modified: 
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/validation/HomePageTest.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/validation/HomePageTest.java?rev=786627&r1=786626&r2=786627&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/validation/HomePageTest.java
 (original)
+++ 
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/validation/HomePageTest.java
 Fri Jun 19 18:55:04 2009
@@ -88,21 +88,24 @@
                
assertTrue(((MyBorder)tester.getLastRenderedPage().get("border")).hitOnSubmit);
        }
 
+       /**
+        * wicket-2202
+        */
        public void testWithPanelAjax()
        {
                tester.executeAjaxEvent("form3:submit", "onclick");
 
                HomePage page = (HomePage)tester.getLastRenderedPage();
-               assertTrue((page.getFormSubmitted() & HomePage.AJAX) == 
HomePage.AJAX);
+               assertFalse((page.getFormSubmitted() & HomePage.AJAX) == 
HomePage.AJAX);
        }
 
        /**
-          * 
-          */
+        * wicket-2202
+        */
        public void testWithPanelForm()
        {
                tester.clickLink("form3:submit2");
                HomePage page = (HomePage)tester.getLastRenderedPage();
-               assertTrue((page.getFormSubmitted() & HomePage.NORMAL) == 
HomePage.NORMAL);
+               assertFalse((page.getFormSubmitted() & HomePage.NORMAL) == 
HomePage.NORMAL);
        }
 }

Modified: 
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/validation/MyPanel.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/validation/MyPanel.java?rev=786627&r1=786626&r2=786627&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/validation/MyPanel.java
 (original)
+++ 
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/validation/MyPanel.java
 Fri Jun 19 18:55:04 2009
@@ -24,14 +24,15 @@
 import org.apache.wicket.markup.html.panel.Panel;
 import org.apache.wicket.model.PropertyModel;
 
+/**
+ * 
+ */
 public class MyPanel extends Panel
 {
-
        private static final long serialVersionUID = 1L;
 
        public String textfield1;
 
-
        /**
         * Construct.
         * 
@@ -51,7 +52,6 @@
 
                form.add(new AbstractFormValidator()
                {
-
                        public FormComponent<?>[] getDependentFormComponents()
                        {
                                return null;
@@ -61,9 +61,6 @@
                        {
                                form.error("form validation error");
                        }
-
                });
-
        }
-
 }


Reply via email to