도메인 클래스에 상호 배타적 인 두 개의 외부 키, 일련 번호 또는 레거시 조회 값이있는 문제가 있습니다.Grails 도메인 클래스의 두 필드에 대한 유효성 검사 및 XOR 검증을 어떻게 작성합니까?
주어진 입력에 대해 어느 것이 있는지 알 수 없으므로 입력 가능 여부를 확인하고 사용자 지정 유효성 검사를 추가하여 하나의 값만 가질 수 있도록했습니다.
package myproject
class Sample {
String information
String legacyLookup
String serialNumber
static constraints = {
information(nullable: true)
legacyLookup(nullable: true)
serialNumber(nullable: true)
legacyLookup validator: {
return ((serialNumber != null && legacyLookup == null) || (serialNumber == null && legacyLookup != null))
}
serialNumber validator: {
return ((serialNumber != null && legacyLookup == null) || (serialNumber == null && legacyLookup != null))
}
}
}
나는 기본 CRUD 화면을 생성하고이 도메인 클래스
information: Blah Blah
serialNumber:
legacyLookup: BLAHINDEX123
이 다음 메시지와 함께 발리에서 사망에 대한 항목 만들려고 :
No such property: serialNumber for class: myproject.Sample
어떻게 생각을 있어야 할 곳에 없는?
이것은 정확히 내가 필요로했던 것입니다. 나는 두 필드 모두에서 명시 적으로 유효성 검사가 필요하다고 생각했지만 하나는 다른 필드를 처리합니다. 감사! – GeoGriffin