使用BeanFieldGroup进行Vaadin表单验证

时间:2016-01-27 07:43:55

标签: java vaadin

在Vaadin的书中,我读了以下内容:

  

使用BeanValidator验证bean,使用它应该验证的bean属性的名称进行初始化,并将其添加到编辑器字段中。焦点离开现场后立即进行验证。 使用BeanFieldGroup 时会自动创建Bean验证程序。

所以这是我的BeanFieldGroup:

BeanFieldGroup<OrderSearchCriteria> binder = new BeanFieldGroup<>(OrderSearchCriteria.class);
binder.setItemDataSource(searchCriteria);

这就是我在我的bean上添加验证的方法:

@Min(0)
private BigDecimal minAmount;

@Min(0)
private BigDecimal maxAmount;

@Pattern(regexp = "([a-zA-Z]+@[a-zA-Z]+.[a-zA-Z]{2,})?")
private String email;

验证不会像我想象的那样自动添加。那我错过了什么?

1 个答案:

答案 0 :(得分:1)

你需要下载一个bean验证器的实现,然后开始工作。

如果您正在使用maven并想使用hibernate-validator,您只需在pom.xml文件中添加一个依赖项,如下所示:

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>5.0.0.Final</version>
</dependency>

参考文献: