【发布时间】:2012-06-11 22:02:22
【问题描述】:
我有以下豆子:
public class CodedEntity {
private String name;
private String code;
// getters and setters
}
public class MyProduct {
@javax.validation.constraints.Size(min = 1)
private List<CodedEntity> codedEntities;
// getters and setters
}
如您所见,codedEntities 列表必须至少包含一个元素。
在我的控制器中,我像这样验证列表的大小:
@RequestMapping(value = "/**", method = RequestMethod.POST)
public String submit(@Valid final MyProduct myProduct, final BindingResult result,
final Model model) {
// ...
}
最后是我的jsp:
<c:forEach items="${codedEntitiesList}" var="codedEntity" varStatus="loopStatus"
<form:checkbox path="myProduct.codedEntities[${loopStatus.index}]" value="${codedEntity.code}" cssClass="checkbox" />
</c:forEach>
这里的问题如下:当我提交jsp而不选中任何复选框时,spring mvc返回一个包含“null”元素的非空列表。因此,验证失败。
如何告诉 spring-mvc 返回一个空列表而不是一个充满“null”元素的列表?或者至少有什么方法可以验证我的约束?
【问题讨论】:
标签: validation spring-mvc checkbox constraints