From: Pekka Hyvönen Date: Mon, 27 Mar 2017 13:04:35 +0000 (+0300) Subject: Fix Binder documentation on ValidationException (#8949) X-Git-Tag: 8.1.0.alpha3~9 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=afc697f8d03f85958c995af5f0e74e7a3fd2ff10;p=vaadin-framework.git Fix Binder documentation on ValidationException (#8949) --- diff --git a/documentation/datamodel/datamodel-forms.asciidoc b/documentation/datamodel/datamodel-forms.asciidoc index 3db83d6436..a565e2ed01 100644 --- a/documentation/datamodel/datamodel-forms.asciidoc +++ b/documentation/datamodel/datamodel-forms.asciidoc @@ -54,7 +54,7 @@ Button saveButton = new Button("Save", binder.writeBean(person); // A real application would also save the updated person // using the application's backend - } catch (BindingException e) { + } catch (ValidationException e) { Notification.show("Person could not be saved, " + "please check error messages for each field."); } diff --git a/server/src/test/java/com/vaadin/data/BinderBookOfVaadinTest.java b/server/src/test/java/com/vaadin/data/BinderBookOfVaadinTest.java index f36a357617..e0b8330ccc 100644 --- a/server/src/test/java/com/vaadin/data/BinderBookOfVaadinTest.java +++ b/server/src/test/java/com/vaadin/data/BinderBookOfVaadinTest.java @@ -66,6 +66,11 @@ public class BinderBookOfVaadinTest { title = origin.title; } + public BookPerson(String name, int yearOfBirth) { + lastName = name; + this.yearOfBirth = yearOfBirth; + } + public String getLastName() { return lastName; } @@ -849,6 +854,31 @@ public class BinderBookOfVaadinTest { Assert.assertFalse(saveButton.isEnabled()); } + @Test + public void writeBean_throwsValidationException_bookExampleShouldCompile() { + // The person to edit + // Would be loaded from the backend in a real application + BookPerson person = new BookPerson("John Doe", 1957); + + // Updates the value in each bound field component + binder.readBean(person); + + Button saveButton = new Button("Save", event -> { + try { + binder.writeBean(person); + // A real application would also save the updated person + // using the application's backend + } catch (ValidationException e) { + Notification.show("Person could not be saved, " + + "please check error messages for each field."); + } + }); + + // Updates the fields again with the previously saved values + Button resetButton = new Button("Reset", + event -> binder.readBean(person)); + } + private void verifyEventIsFired(AtomicBoolean flag) { Assert.assertTrue(flag.get()); flag.set(false);