/** * Default {@link BindingValidationStatusHandler} functional method * implementation. * * @param status * the validation status */ protected void handleValidationStatus(BindingValidationStatus<?> status) { HasValue<?> source = status.getField(); clearError(source); if (status.isError()) { Optional<ValidationResult> firstError = status .getValidationResults().stream() .filter(ValidationResult::isError).findFirst(); if (firstError.isPresent()) { // Failed with a Validation error handleError(source, firstError.get()); } else { // Conversion error status.getResult() .ifPresent(result -> handleError(source, result)); } } else { // Show first non-error ValidationResult message. status.getValidationResults().stream() .filter(result -> result.getErrorLevel().isPresent()) .findFirst() .ifPresent(result -> handleError(source, result)); } }