3

我有一些实体,其中一些字段用 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;

    // [...]
}

有没有办法在检票口组件(如表单)中使用这些验证器注释?

4

1 回答 1

7

我为自己找到了答案:

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

自 Wicket 6.4.0 以来,wicket 支持 java-bean-validation。

1) 将 wicket-bean-validation 添加到您的项目中,例如使用 maven:

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

2)将 PropertyValidator 添加到您的检票口字段中,例如:

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

其余的为你做检票口和休眠验证器......

于 2013-08-30T22:59:50.403 回答