diff --git a/vaadin/src/main/java/com/baeldung/spring/EmployeeEditor.java b/vaadin/src/main/java/com/baeldung/spring/EmployeeEditor.java index 0bc2c61e20..7984ecce05 100644 --- a/vaadin/src/main/java/com/baeldung/spring/EmployeeEditor.java +++ b/vaadin/src/main/java/com/baeldung/spring/EmployeeEditor.java @@ -9,6 +9,7 @@ import com.vaadin.flow.component.icon.VaadinIcon; import com.vaadin.flow.component.orderedlayout.HorizontalLayout; import com.vaadin.flow.component.orderedlayout.VerticalLayout; import com.vaadin.flow.component.textfield.TextField; +import com.vaadin.flow.data.binder.BeanValidationBinder; import com.vaadin.flow.data.binder.Binder; public class EmployeeEditor extends Composite { @@ -31,7 +32,7 @@ public class EmployeeEditor extends Composite { private DeleteListener deleteListener; private CancelListener cancelListener; - private final Binder binder = new Binder<>(Employee.class); + private final Binder binder = new BeanValidationBinder<>(Employee.class); public EmployeeEditor() { var firstName = new TextField("First name"); @@ -41,8 +42,8 @@ public EmployeeEditor() { var cancel = new Button("Cancel"); var delete = new Button("Delete", VaadinIcon.TRASH.create()); - binder.forField(firstName).bind(Employee::getFirstName, Employee::setFirstName); - binder.forField(lastName).bind(Employee::getLastName, Employee::setLastName); + binder.forField(firstName).bind("firstName"); + binder.forField(lastName).bind("lastName"); save.addThemeVariants(ButtonVariant.LUMO_PRIMARY); save.addClickListener(e -> save()); diff --git a/vaadin/src/main/java/com/baeldung/spring/EmployeesView.java b/vaadin/src/main/java/com/baeldung/spring/EmployeesView.java index 8b78b1b1c5..edb1f7a75b 100644 --- a/vaadin/src/main/java/com/baeldung/spring/EmployeesView.java +++ b/vaadin/src/main/java/com/baeldung/spring/EmployeesView.java @@ -37,7 +37,7 @@ public class EmployeesView extends VerticalLayout { addButton.addClickListener(e -> editEmployee(new Employee())); filter.setPlaceholder("Filter by last name"); - filter.setValueChangeMode(ValueChangeMode.EAGER); + filter.setValueChangeMode(ValueChangeMode.LAZY); filter.addValueChangeListener(e -> updateEmployees(e.getValue())); grid.setHeight("200px");