【发布时间】:2017-09-06 23:15:50
【问题描述】:
我正在构建一个 Rest WS 并验证我正在使用 JSR-303 BeanValidation 的请求元素,但是有一个字段类型 Enum。
EmploymentType.java
public enum EmploymentType {
EMPTY, FULL, PARTTIME, CONTRACT, CASUAL;
public static EmploymentType getDefaultEnum() {
return EMPTY;
}
}
以及我用来实现这个的类:
就业.java
public class Employment implements Serializable{
private static final long serialVersionUID = 1L;
@NotNull(message="employmentType does not accept null values")
private EmploymentType employmentType;
@Valid
@NotNull(message="orgData does not accept null values")
private OrgData orgData;
public Employment() {
employmentType = EmploymentType.getDefaultEnum();
orgData = new OrgData();
}
public EmploymentType getEmploymentType() {
return employmentType;
}
public void setEmploymentType(EmploymentType employmentType) {
this.employmentType = employmentType;
}
public OrgData getOrgData() {
return orgData;
}
public void setOrgData(OrgData orgData) {
this.orgData = orgData;
}
}
我开发的实现只防止枚举成为空对象,有没有办法验证枚举的值是否仅在声明值的范围内? (空的、全职的、兼职的、合同的、休闲的)
【问题讨论】:
-
还能是什么?如果某物设法生成类的 有效 实例(具有非空
employmentType),则它必须具有这些值之一。这就是enums 的工作方式......
标签: java enums bean-validation