2010-05-13 6 views
0

У меня есть свойство, которое может быть нулевым или обязательным в зависимости от состояния другой переменной.Как ссылаться на другое свойство в пользовательском валидаторе Grails?

class Person{ 
name() 
civilStatus(inList:['Single','Married','Divorced','Widowed']) 
partnerOrSpouse() 
} 

Свойство partnerOrSpouse равно нулю или нет в зависимости от значения свойства civilStatus.

ответ

2

Вы можете использовать специальный валидатор. Используя двухпараметрическую версию, первое является проверяемым значением, а второе - экземпляром класса домена. Вы можете ссылаться на другие свойства через параметр «obj»:

class Person { 
    ... 
    static constraints = { 
     name() 
     civilStatus inList:['Single','Married','Divorced','Widowed'] 
     partnerOrSpouse validator: { val, obj -> 
     if (obj.civilStatus == 'Single') { 
      return 'some.error.code' 
     } 
     } 
    } 
} 
+0

Спасибо, попробуй. – Neoryder