2015-01-16 4 views
2

특정 오브젝트가 널 (NULL)이 아닌지 검증하는 @NotNull 주석이 있습니다.java/beans 유효성 검증 - 콜렉션/맵에 널 (null)이 포함되지 않음

특정 컬렉션 /지도/문자열/...이 비어 있지 않음을 확인하는 @NotEmpty 주석이 있습니다.

특정 콜렉션/맵에 null이 포함되어 있지 않은 것으로 보이는 주석이 있습니까? 나는 그것을 발견 할 수 없다. 그것은 매우 기본적인 것처럼 보입니다. 이 JSR-303 스펙에 있어야한다고 생각합니다.

답변

0

같은 문제가있었습니다. 그리고 내가 찾은 유일한 해결책은 엔티티의 setter에 null 검증을 추가하는 것입니다. 제출 된 값이 null 인 경우 -> return. 나는 꽤 추한 것을 알고 있지만 예외를 피하는 방법을 아는 유일한 방법입니다.

4

the Hibernate 5.2 release announcement, Hibernate Validator 5.2는 유효성 검사 주석을 Iterable의 일반적인 유형에 추가하는 기능을 제공한다. List<@MyValidationAnnotation String> myList;. 그러나 현재 정의 유효성 검사 주석은 해당 정의에 "java.lang.annotation.ElementType.TYPE_USE"가 없으므로 현재 사용할 수 없습니다. 그것은 Bean Validation 1.2가 이것을 지원할 것인가의 여부에 대한 열린 질문 인 것 같습니다.

Java 8을 사용하고 Hibernate를 Bean 유효성 검증 라이브러리로 사용하는 경우 TYPE_USE를 정의에 포함하여 고유 한 @NotNull 유효성 주석을 작성하고이를 목록의 제네릭 유형에 적용 할 수 있습니다. 그렇지 않으면, 목록의 모든 요소가 null이 아닌지 확인하기 위해 사용자 지정 제약 조건을 작성하는 것에 대한 하디의 대답은 아마도이를 달성하는 방법 일 것입니다.