我尝试对实体中的Set
属性进行bean验证:
@NotEmpty
@Valid
private Set<E_CMS_CONDITION_ITEM> items;
我想在Set
为空时给我一个错误,现在没有给我一个错误。这可以通过bean验证吗?如果是这样的话?
更新 对于哈代: 我正在使用primefaces 5.2版本,这是我的xhtml代码:
<p:dataList id="conditionItemList" value="#{eventsController.model.currentCondition.items}" var="event" type="ordered" rowIndexVar="rowInd" label="#{msg['table.conditions.caption']}">
.
.
.
</p:dataList>
<h:message for="conditionItemList" style="color:red" />
相同的xhtml上的bean验证工作正常,但事实并非如此。没有写任何错误,我也尝试使用@NotNull
,但同样。
答案 0 :(得分:0)
您可以使用Hibernate Validator。它是Bean Validation 1.1 JSR-349
的参考实现您可以验证包含items
的实体。
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();
Set<ConstraintViolation<Foo>> constraintViolations =
validator.validate( entity );
它将返回实体的验证,包括items