У меня есть ограничение @Money
, которое указывает, что аннотированное свойство Double
- это, ну, деньги.Я написал ConstraintValidator
, который проверяет, имеет ли свойство @Money
допустимое значение, которое зависит от экземпляра Currency
.Например, в долларах США есть значения как в долларах, так и в центах, а в японских иенах - нет, поэтому, хотя 19,99 является допустимым значением для доллара США, оно не для JPY.Значение Currency
хранится в другом свойстве того же компонента.
Проблема заключается в поиске свойства Currency
данного компонента в пределах ConstraintValidator
.Я думал о том, чтобы сделать это на уровне класса, но было бы довольно громоздко и излишне писать на уровне класса, какие поля являются деньгами, и, что более важно, вы можете генерировать только одно сообщение об ошибке, даже если существует более одного свойства moneyэто неверно.
Приветствуются любые предложения, даже специфичные для Hibernate Validator.
Спасибо!