Um dem Prinzip zur Redundanzvermeidung (DRY – Don’t repeat yourself) gerecht zu werden, kann man in Grails auf die Constraints einer Domainklasse in Grails auf einfache Art und Weise auch von anderen Stellen aus zugreifen – beispielsweise in der View oder im Controller.
Folgendes Beispiel zeigt die Verwendung des size Constraints um die maximale Länge (maxlength) eines INPUT zu beschränken:
Constraint aus dem Grails-Controller übergeben
z.B. in Action “create” von MyDomainController.groovy:
// Constraint in Controller abrufen und an die View übergeben
return [ titleMax: MyDomain.constraints.title.size.max() ]
Constraint in der Grails-View verwenden
z.B. in mydomain/create.gsp
<!-- Constraint in der View nutzen -->
<g:textField name="title" maxlength="${titleMax}" />
Grails Framework Reference: constraints