Просто определите static constraints
во встроенном объекте.
class Currency {
...
static constraints = {
quantity(nullable:true)
currencyType(nullable:true,validator:{ String val, Currency obj ->
if ((val && !obj.quantity) || (!val && obj.quantity)) {
return 'Currency.both.fields.required';
}
})
}
}
Затем просто добавьте 'Currency.both.fields.required'
к messages.properties
, чтобы отобразить соответствующую ошибку.