You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by iv...@apache.org on 2011/09/20 19:59:30 UTC
svn commit: r1173279 - in /wicket/trunk/wicket-core/src:
main/java/org/apache/wicket/markup/html/form/Form.java
test/java/org/apache/wicket/markup/html/form/FormTest.java
Author: ivaynberg
Date: Tue Sep 20 17:59:30 2011
New Revision: 1173279
URL: http://svn.apache.org/viewvc?rev=1173279&view=rev
Log:
Issue: WICKET-4070
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormTest.java
Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java?rev=1173279&r1=1173278&r2=1173279&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java Tue Sep 20 17:59:30 2011
@@ -797,6 +797,7 @@ public class Form<T> extends WebMarkupCo
if (hasError())
{
callOnError(submittingComponent);
+ return;
}
// Form has no error
Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormTest.java?rev=1173279&r1=1173278&r2=1173279&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormTest.java (original)
+++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormTest.java Tue Sep 20 17:59:30 2011
@@ -16,8 +16,13 @@
*/
package org.apache.wicket.markup.html.form;
+import org.apache.wicket.MarkupContainer;
import org.apache.wicket.MockPageParametersAware;
import org.apache.wicket.WicketTestCase;
+import org.apache.wicket.markup.IMarkupResourceStreamProvider;
+import org.apache.wicket.markup.html.WebPage;
+import org.apache.wicket.util.resource.IResourceStream;
+import org.apache.wicket.util.resource.StringResourceStream;
import org.apache.wicket.util.string.Strings;
import org.apache.wicket.util.visit.IVisitor;
@@ -82,6 +87,61 @@ public class FormTest extends WicketTest
assertTrue(response.contains(Strings.escapeMarkup(TestPage.TEST_QUERY_STRING)));
}
+ public void testOnValidateModelObjects()
+ {
+
+ class TestPage extends WebPage implements IMarkupResourceStreamProvider
+ {
+ boolean shouldFail;
+ boolean submit;
+ boolean error;
+
+ public TestPage()
+ {
+ add(new Form<Void>("form")
+ {
+ @Override
+ protected void onValidateModelObjects()
+ {
+ if (shouldFail)
+ error("failed");
+ }
+
+ @Override
+ protected void onSubmit()
+ {
+ submit = true;
+ }
+
+ @Override
+ protected void onError()
+ {
+ error = true;
+ }
+ });
+ }
+
+ public IResourceStream getMarkupResourceStream(final MarkupContainer container,
+ Class<?> containerClass)
+ {
+ return new StringResourceStream("<form wicket:id='form'></form>");
+ }
+ }
+
+ TestPage page = new TestPage();
+ tester.startPage(page);
+ tester.submitForm("form");
+ assertTrue(page.submit);
+ assertFalse(page.error);
+
+ page = new TestPage();
+ page.shouldFail = true;
+ tester.startPage(page);
+ tester.submitForm("form");
+ assertFalse(page.submit);
+ assertTrue(page.error);
+ }
+
/** */
public static class TestPage extends MockPageParametersAware
{