【发布时间】:2011-07-19 10:37:34
【问题描述】:
让我们从一个例子开始:
在我的 JPA 实体中
public class User {
@Pattern("^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$", message="invalidEmailResourceBundleKey")
private String email;
@Min(5, message="minimumResourceBundleKey")
private int age;
...
}
在我的 JSF Bean 中
public class UserBean {
private User user;
// do i have to redefine it here, since it's already a part of the user ?
@@Pattern("^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$")
public String getEmail() {
return user.getEmail();
}
public void setEmail(String s) {
user.setEmail(s);
}
// do i have to redefine it here, since it's already a part of the user ?
@Min(5, message="minimumResourceBundleKey")
public int getAge() {
return user.getAge();
}
public void setAge(int age) {
user.setAge(age);
}
}
是否可以重用 JSF bean 的实体验证,实际上将方法调用委托给实体,这样我就不必重新定义 JSF bean 上的 bean 验证?
我什至可以将重用扩展到资源包中的错误消息级别,以及是否可以像往常一样使用 {0} 等参数化消息?我想知道网络上是否有任何示例,因为我一直找不到。
请分享您对此的看法..
谢谢!
【问题讨论】:
标签: jsf jpa jsf-2 jpa-2.0 bean-validation