In einer Domänenklasse I einen Wert aus einem Enum haben, die eine E-Mail-Adresse oder eine URL zuValidator für mehrere Arten in Grails
class Contact{
ContactType contact
String value
}
enum ContactType{
EMAIL,
URL
}
Ich versuche, die eingebaute grails EmailConstraint und UrlConstraint Klassen zu verwenden repräsentiert Validierung:
Constraint constraint = new EmailConstraint()
constraint.setPropertyName "value"
constraint.setOwningClass obj.class
constraint.setParameter true
constraint.validate(obj, obj.value, errors)
:
static constraints = {
value(validator: {
ContactType.validate(obj, val, errors)
})
}
ich es, indem einige Annahmen Lesen grails Quelle arbeiten machen verwaltet 210
Aber ich finde das sehr hässlich, also habe ich mich gefragt, ob jemand eine bessere Lösung anbieten kann.
Danke.
Gute Idee, danke, aber immer noch stört mich der Constraint-Code. – Eldelshell
Sie könnten den obigen Code "groovyfy" zu: new EmailConstraint (propertyName: 'value', owningClass: obj.class, parameter: true) .validate (obj, obj.value, errors) –