문제

참조 문서는 크기 제약이라고 말합니다.

그루비 범위를 사용하여 수집 또는 숫자의 크기 또는 문자열의 길이를 제한합니다.

정수에 크기 제약을 넣으면 경고를받습니다.

도메인 클래스의 속성 [prop] theclass는 [java.lang.integer] 유형을 가지며 제약 조건 [크기]을 지원하지 않습니다. 이 제약 조건은 검증 중에 확인되지 않습니다.

문서가 잘못 되었나요?

나는 범위를 사용할 수 있지만 일반적으로 실제 값보다는 숫자의 숫자 양을 지정하는 것이 더 쉽습니다 (사회 보장 번호는 7 자리가 있어야합니다. 100000-999999).

도움이 되었습니까?

해결책

숫자 수를 원한다면 숫자가 양수이고 길이가 특정인지 확인하십시오.

myInteger( validator: {
   return it > 0 &&  (it.toString.length) == 7
})

다른 팁

Jira를 검색하는 동안 답을 찾았습니다. http://jira.codehaus.org/browse/grails-947. 문서가 잘못되었습니다.

이 기능은 각각 최소, 최대 및 범위 제약 조건에 있기 때문에 더 이상 숫자 필드에 대한 최소 크기, 최대 크기 및 크기 제약 조건이 필요하지 않습니다. 따라서 이러한 제약 조건 (숫자 필드에 대해서만)을 0.5로 더 이상 사용하지 않고 0.6으로 제거합니다.

사용자 정의 유효성 검사기에 달려있는 것 같습니다.

Max를 사용하여 Myintprop과 같은 정수를 제한 할 수도 있습니다 (Max : 9999999).

당신이 지적했듯이 지라 링크, 나는 이것에 대한 정답은 범위 정수에 대한 제약.

나는 이것이 교체하는 것만으로 간단하다고 생각합니다 size ~와 함께 range.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top