Вы можете написать свой собственный валидатор.
что-то вроде
selfInspecting(validator: {val, obj -> /*test selfInspecting here*/})
EDIT - в ответ на другой ответ - вы можете справиться с этим на форме, но вы также должны обрабатывать его на сервере.
ДРУГОЙ РЕДАКТИРОВАНИЕ - В комментарии было предложено подтвердить одно из двух полей класса Domain. Это также легко выполнить с помощью специального валидатора. С подписью выше для пользовательского закрытия валидатора val является значением selfInspecting, а obj - экземпляром объекта домена. Таким образом, вы могли бы получить
{ val, obj ->
if (val == null) return false // if you want to ensure selfInspecting is not null
else return true
... or ...
// if you want to check that at least 1 of two fields is not null
def oneOrTheOther = false
if (obj.field1 != null || obj.field2 != null)
oneOrTheOther = true
return oneOrTheOther
}
Кроме того, флажки представляют собой несколько булевых значений. В вашем примере я бы ожидал увидеть только один флажок или группу радиостанций с параметрами yes/no. Вы также можете установить selfInspecting = true | false в вашем домене, чтобы он имел значение по умолчанию, отличное от нуля, независимо от того, что. Или используйте примитивное логическое значение, которое по умолчанию имеет значение false. – Gregg
Я хочу использовать радиокнопки, но я не хочу его выбирать, потому что пользователи могут случайно принять мой выбор. – deamon