将hibernate-validator与wicket集成

时间:2013-08-30 22:15:32

标签: java hibernate wicket bean-validation hibernate-validator

我有一些实体,其中一些字段用hibernate-validator注释注释,如:

@Entity
public class MyEntity {

    @Pattern(regexp = "[A-Z,0-9]{3,}")
    @Column
    private String key;

    @Range(min = 1, max = 999)
    @Column
    private Integer year;

    // [...]
}

有没有办法在wicket组件(如表单)中使用thoose验证器注释?

1 个答案:

答案 0 :(得分:7)

我找到了自己的答案:

hibernate-validator只是java-bean-validation(javax.validation,JSR-303)的一个实现。

自Wicket 6.4.0起,在wicket中支持java-bean验证。

1)为你的项目添加wicket-bean-validation,例如maven:

<groupId>org.apache.wicket<groupId> 
<artifactId>wicket-bean-validation</artifactId> 
<version>0.5</version>

2)将PropertyValidator添加到您的wicket-fields中,例如:

form.add(new TextField("key", new PropertyModel(myModel, "key")) .add(new PropertyValidator()))
form.add(new TextField("year", new PropertyModel(myModel, "year")) .add(new PropertyValidator()))

其余的为你做了wicket和hibernate-validator ......