В доменном классе у меня есть значение из enum, которое представляет адрес электронной почты или URL-адрес
class Contact{
ContactType contact
String value
}
enum ContactType{
EMAIL,
URL
}
Я пытаюсь использовать встроенные в Grails классы EmailConstraint и UrlConstraint для проверки:
static constraints = {
value(validator: {
ContactType.validate(obj, val, errors)
})
}
Мне удалось заставить его работать, сделав некоторые предположения при чтении источника Грааля:
Constraint constraint = new EmailConstraint()
constraint.setPropertyName "value"
constraint.setOwningClass obj.class
constraint.setParameter true
constraint.validate(obj, obj.value, errors)
Но я нахожу это очень уродливым, поэтому мне было интересно, сможет ли кто-нибудь предложить лучшее решение.1010 *
Спасибо.