2009-10-29 12 views
0

에서 업데이트하는 동안 도메인 클래스 필드의 유효성을 검사하는 방법을 내가 이름 필드의 가능한 변화를 만들기 위해 표준 발판을 수정하려고Grails의

class InterestGroup { 
String intGrp 
String name 

static constraints = { 
    intGrp(blank: false, maxSize: 4, unique: true) 
    name(blank: false, minSize: 10, maxSize: 50) 
} 

static mapping = { 
    id generator: "assigned", name: "intGrp", type: 'string' 
} 

String toString() { "${intGrp}"} 
} 

다음과 같이 정의 자연 키 도메인 클래스가있다. 표준 코드에는 save() 메서드가 호출되어 모든 필드를 확인하며 물론 동일한 키가있는 레코드가 있으므로 레코드를 업데이트 할 수 없습니다. 방금 필드 값을 할당 할 때

interestGroupInstance.name = params?.name 

이름은 업데이트되지만 도메인 클래스 constaint에 대해서는 확인되지 않습니다. 자연 키 기반 테이블을 사용하여 CRUD 연산을 실현하는 가장 좋은 방법은 무엇입니까? 감사합니다. 크 르지 시크

답변

0

나는 당신을 이해하고 있다고 생각하지 않습니다. 너 뭐하려고? 그룹 이름을 업데이트하려고하는데 유효성 검사를하지 않는 것 같습니까?

참조 documentaion는 말한다 : "방법은 인스턴스 저장해야 또는 를 업데이트하는 영속 컨텍스트 알리는 저장 검증이 실패 인스턴스가 저장되지 않았습니다 그리고 만약 인스턴스 자체가 성공하면 메소드는 null를 돌려 저장합니다. . " 따라서 도메인 클래스 객체에 save methos를 호출 할 때 validate methos를 호출해야합니다.

사례를 게시 해주세요.