【问题标题】:Integrate hibernate-validator with wicket将休眠验证器与检票口集成
【发布时间】:2013-08-30 22:15:32
【问题描述】:
我有一些实体,其中一些字段使用 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;
// [...]
}
有没有办法在检票口组件(如表单)中使用这些验证器注释?
【问题讨论】:
标签:
java
hibernate
wicket
bean-validation
hibernate-validator
【解决方案1】:
我自己找到了答案:
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()))
其余的为你做 wicket 和 hibernate-validator ...