2012-12-19 4 views
1

Grails의에서 다음 commandobjects 갖는확장 Grails의 명령 개체 제약 검증

class commandA implements commandObjectType { 
    String a 

    static constraints = { 
     a blank: false 
    } 
} 

class commandB extends commandA { 
    String b 
} 

일이 (가) commandB 객체 B에 사용자 정의 필드 유효성 검사를 구현하는 것이 어떻게? 내 지식을 무시하거나 다른 방법으로 폐쇄를 변경할 수 없습니다.

어쨌든이 작업을 수행 할 수 있습니까? 나는 클로저에서 성공없이 "이동"을 시도했다. 어떤 식 으로든 필드와 함께 인라인으로 유효성 검사기를 지정할 수 있습니까?

답변

0

"b"필드의 유효성 검증 규칙을 사용하여 평소와 같이 commandB에서 "constraints"블록을 정의하십시오. 유효성 검사는 "a"및 "b"필드 모두에 대해 작동해야합니다.

+0

아니요, 불가능합니다. 또한, 잠깐 후에 생각해 보면 같은 이름의 클로저를해야합니다. 'MissingMethodException'을 throw합니다 .. – Hoof

+0

@Hoof 부모 클래스와 자식 클래스 모두에서 동일한 이름의 '정적'속성을 가질 수 있지만 정적 일 때 다른 하나를 "무시"하는 개념은 없습니다. –

+0

@ 이안, 알았어. 그러나 사실을 변경하지는 않습니다. ** 작동하지 않습니다 **. – Hoof

1

나는 공유 제약 조건이 명령 개체에 대해 작동하는 경우되지 확신 해요,하지만 당신은 이런 식으로 뭔가를 시도 할 수 있습니다 :

class commandB extends commandA { 
    String b 

    static constraints = { 
     importFrom commandA 
    } 
} 

는 Grails의 설명서에 대한 constraints usage를 참조하십시오.

+0

상속 관계가없는 상황에서 작동 할 수 있습니다. – Hoof