Vaadin 14 是一个用于构建现代 Web 应用的 Java 框架,它允许开发者使用 Java 编写前端界面。在 Vaadin 14 中,.setAsRequired(boolean)
方法用于设置表单字段是否为必填项。这个方法通常用在 Binder
对象上,用于将表单字段绑定到后端数据模型。
TextField
IntegerField
, DoubleField
DateField
ComboBox
在需要用户输入数据的任何 Web 应用中,都可以使用 Vaadin 的表单和绑定功能。例如,用户注册、登录、数据录入等场景。
.setAsRequired(boolean)
以下是一个简单的示例,展示如何在 Vaadin 14 中使用 .setAsRequired(true)
方法:
import com.vaadin.flow.component.button.Button;
import com.vaadin.flow.component.formlayout.FormLayout;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.component.textfield.TextField;
import com.vaadin.flow.data.binder.Binder;
import com.vaadin.flow.router.Route;
@Route("")
public class MainView extends VerticalLayout {
private TextField name = new TextField("Name");
private Button save = new Button("Save");
public MainView() {
FormLayout form = new FormLayout();
form.add(name);
Binder<Person> binder = new Binder<>(Person.class);
binder.forField(name).bind(Person::getName, Person::setName);
binder.forField(name).setAsRequired(true); // 设置为必填项
save.addClickListener(event -> {
if (binder.validate().isOk()) {
// 保存数据
} else {
// 显示错误信息
}
});
form.add(save);
add(form);
}
public static class Person {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
}
通过上述代码,你可以看到如何将 TextField
绑定到一个 Person
类的 name
属性,并使用 .setAsRequired(true)
方法将其设置为必填项。当用户尝试保存表单时,如果 name
字段为空,将会触发验证错误。
领取专属 10元无门槛券
手把手带您无忧上云