Skip to content

Commit d46ff97

Browse files
Change form biding to use BeanValidationBinder
1 parent 9d258aa commit d46ff97

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

vaadin/src/main/java/com/baeldung/spring/EmployeeEditor.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
1010
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
1111
import com.vaadin.flow.component.textfield.TextField;
12+
import com.vaadin.flow.data.binder.BeanValidationBinder;
1213
import com.vaadin.flow.data.binder.Binder;
1314

1415
public class EmployeeEditor extends Composite<VerticalLayout> {
@@ -31,7 +32,7 @@ public interface CancelListener {
3132
private DeleteListener deleteListener;
3233
private CancelListener cancelListener;
3334

34-
private final Binder<Employee> binder = new Binder<>(Employee.class);
35+
private final Binder<Employee> binder = new BeanValidationBinder<>(Employee.class);
3536

3637
public EmployeeEditor() {
3738
var firstName = new TextField("First name");
@@ -41,8 +42,8 @@ public EmployeeEditor() {
4142
var cancel = new Button("Cancel");
4243
var delete = new Button("Delete", VaadinIcon.TRASH.create());
4344

44-
binder.forField(firstName).bind(Employee::getFirstName, Employee::setFirstName);
45-
binder.forField(lastName).bind(Employee::getLastName, Employee::setLastName);
45+
binder.forField(firstName).bind("firstName");
46+
binder.forField(lastName).bind("lastName");
4647

4748
save.addThemeVariants(ButtonVariant.LUMO_PRIMARY);
4849
save.addClickListener(e -> save());

vaadin/src/main/java/com/baeldung/spring/EmployeesView.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public EmployeesView(EmployeeRepository repo) {
3737
addButton.addClickListener(e -> editEmployee(new Employee()));
3838

3939
filter.setPlaceholder("Filter by last name");
40-
filter.setValueChangeMode(ValueChangeMode.EAGER);
40+
filter.setValueChangeMode(ValueChangeMode.LAZY);
4141
filter.addValueChangeListener(e -> updateEmployees(e.getValue()));
4242

4343
grid.setHeight("200px");

0 commit comments

Comments
 (0)