특정 제한 그룹 (기본값이 아님)에 대한 사용자 정의 유효성 검사기를 작성하고 있지만 런타임에서 다음과 같은 오류가 발생합니다.JSR303 사용자 정의 주석의 제한 그룹이 빈 배열로 기본 설정되어야하는 이유는 무엇입니까?
왜 나는 기본값이 비어 있어야하는지 궁금합니다. 의견을 공유 할 수 있다면 감사하게 생각하십시오. 감사합니다 :)
xxx.model.validation.CustomValidation에는 Constraint annotation이 들어 있지만 groups 매개 변수의 기본값은 빈 배열이 아닙니다.
스택 트레이스 : org.hibernate.validator.metadata.ConstraintHelper.assertGroupsParameterExists (ConstraintHelper.java:335) org.hibernate.validator.metadata.ConstraintHelper.isConstraintAnnotation (ConstraintHelper.java:282)
감사 알프 :
대신, 다음과 같이 사용할 수 있습니다. 마지막 점 ** "제약 조건 정의에서 그룹 이름을 숨기면 오류가 발생할 수 있습니다"**는 유효합니다. @VAT가 Default 그룹과 다른 기본 그룹이있는 사용자 정의 제약 인 경우 혼동 및 오류가 발생할 수 있으므로 실제로 구분할 수 없습니다. –
첫 번째 요점을 이해하지 못합니다. 그룹 A, B가 다른 유효성 검사 규칙 집합을 나타내는 필드가 있습니다. 그러나 그룹 B의 경우 여러 필드에서 수행해야하는 맞춤 검증이 있습니다 (예 : 합계가 최소보다 커야 함). 따라서 모델 자체에 맞춤 검증기/제약 조건 (예 : Target : ElementType.TYPE)을 작성했습니다. 이 사용자 지정 유효성 검사기는 B 그룹에 대해서만 의미가 있으므로 B를 기본 제약 그룹으로 지정하려고했습니다. –
@ TheHuy, 내 편집 참조 – Alf