我有一些实体,其中一些字段用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验证器注释?
答案 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 ......