@ Берт прав, к сожалению.Это дизайн, хотя этот дизайн отрывочен.Проблема в том, что в некоторых случаях Grails самостоятельно проверяет негласно, стирая пользовательские ошибки там, где их не следует стирать.
Таким образом, вы не только должны избегать вызова validate (), вы также должны избегать того, чтобы платформа молча стирала ваши ошибки в различных точках.
Иногда вы можетеобойти это, используя Domain.read (params.id) вместо Domain.get (params.id).
Grails read () Docs
Результирующая связь между ручным добавлением ошибок и автоматическим поведением grails, на мой взгляд, неинтуитивна.