public class RegistrationBindingManager extends DefaultBindingManager {
private final Consumer<MessageList> displayMessagesConsumer;
public RegistrationBindingManager(RegistrationValidationService registrationValidationService,
Consumer<MessageList> displayMessagesConsumer) {
super(registrationValidationService);
this.displayMessagesConsumer = displayMessagesConsumer;
}
@Override
protected void updateMessages(MessageList messages) {
super.updateMessages(messages);
this.displayMessagesConsumer.accept(messages);
}
}
Validation
Displaying Validation Messages
By default linkki provides no UI element for displaying validation messages returned by a ValidationService
. In order to display these messages a custom UI component has to be created along with a BindingManager
. The BindingManager
must override its updateMessages
method that gets called after validation. A common pattern here is to use a Consumer<MessageList>
as an argument to the BindingManager
to decouple it from the actual custom UI component (which implements Consumer<MessageList>
).
Usage:
validationService = new RegistrationValidationService(registrationPmo);
bindingManager = new RegistrationBindingManager(validationService, ml -> messagesPanel.updateMessages(ml));