diff options
author | Pekka Hyvönen <pekka@vaadin.com> | 2017-03-27 16:04:35 +0300 |
---|---|---|
committer | Henri Sara <henri.sara@gmail.com> | 2017-03-27 16:04:35 +0300 |
commit | afc697f8d03f85958c995af5f0e74e7a3fd2ff10 (patch) | |
tree | ed3d94deeee6a54a27b8bfff066a3bab7dca243e | |
parent | 38ed444e7eb5ab8960a681fb8775f8e1e50a4c61 (diff) | |
download | vaadin-framework-afc697f8d03f85958c995af5f0e74e7a3fd2ff10.tar.gz vaadin-framework-afc697f8d03f85958c995af5f0e74e7a3fd2ff10.zip |
Fix Binder documentation on ValidationException (#8949)
-rw-r--r-- | documentation/datamodel/datamodel-forms.asciidoc | 2 | ||||
-rw-r--r-- | server/src/test/java/com/vaadin/data/BinderBookOfVaadinTest.java | 30 |
2 files changed, 31 insertions, 1 deletions
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); |