2010-11-14 22 views
4

Je voudrais vérifier que deux champs ne sont pas égaux et que l'un est supérieur à l'autre. Dites yearBorn et yearMarried. Ils ne peuvent pas être égaux et yearMarried doit être supérieur à yearBorn.Validation de Custom Grails

Répondre

10

Vous pouvez utiliser un validateur personnalisé 2 paramètres qui a accès à la fois la valeur en cours de validation et l'instance entière:

static constraints = { 
    yearMarried validator: { year, instance -> 
     if (year == instance.yearBorn) { 
     return 'i18n.code.for.equal.value' 
     } 
     if (year <= instance.yearBorn) { 
     return 'i18n.code.for.born.after.married' 
     } 
    } 
}