From: Aleksi Hietanen Date: Wed, 12 Oct 2016 12:52:38 +0000 (+0300) Subject: Fix BoV custom ValidationStatusHandler example X-Git-Tag: 8.0.0.alpha5~19 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=b66631c3dc5d79caa6a78274d2ea4107ccae7973;p=vaadin-framework.git Fix BoV custom ValidationStatusHandler example Change-Id: I94d82a6200197a6d9f6b31d66153a140333b5b1e --- diff --git a/documentation/datamodel/datamodel-forms.asciidoc b/documentation/datamodel/datamodel-forms.asciidoc index 8772f0d770..0a040230c6 100644 --- a/documentation/datamodel/datamodel-forms.asciidoc +++ b/documentation/datamodel/datamodel-forms.asciidoc @@ -563,14 +563,20 @@ We can also define our own status handler to provide a custom way of handling st [source, java] ---- +// We will first set the status label's content mode to HTML +// in order to display generated error messages separated by a
tag +formStatusLabel.setContentMode(ContentMode.HTML); + BinderValidationStatusHandler defaultHandler = binder.getValidationStatusHandler(); binder.setValidationStatusHandler(status -> { // create an error message on failed bean level validations List> errors = status.getBeanValidationErrors(); + // collect all bean level error messages into a single string, + // separating each message with a
tag String errorMessage = errors.stream().map(Result::getMessage) - .map(o -> o.get()).collect(Collectors.joining("\n")); - // show error in a label + .map(o -> o.get()).collect(Collectors.joining("
")); + // finally, display all bean level validation errors in a single label formStatusLabel.setValue(errorMessage); formStatusLabel.setVisible(!errorMessage.isEmpty());