Как добавить ограничения на унаследованные свойства в подклассе домена grails

Вот что я хотел бы сделать:

class A {
  String string
  static constraints = {
    string(maxSize:100)
  }
}

class B extends A {
  static constraints = {
    string(url:true)
  }
}

Так что класс А должен иметьнемного ограничения и B должны иметьтот же плюс, дополнительный ограничения на одно и то же свойство.

Я не мог заставить это работать, хотя, и я могу вообразить, что это столкнулось бы с концепцией Таблицы за иерархией.

Поэтому я попытался обойти эту проблему, введя объект Command с ограничениями класса B, которые могут быть проверены в конструкторе класса B. Однако кажется, что объекты Command можно использовать только внутри контроллеров (grails постоянно говорит, что .validate не существует. () метод для этого).

Итак, мой вопрос: каков наиболее элегантный способ решить эту проблему, используя ограничения Grails (без повторной реализации проверки вручную)? Может быть...

Переходите к концепции «Таблица на подкласс»?Заставить объект Command работать в классе Domain как-нибудь?Любым другим путем?

Редактировать: Было бы хорошо, чтобы я определил все ограничения в дочерних классах, повторяя ограничения родительского класса или вообще не имея ограничений в родительском классе. Но решение должно работать для нескольких дочерних классов (с разными ограничениями) одного и того же родительского класса.

Ответы на вопрос(4)

Ваш ответ на вопрос