Bean Validation + Resource Bundle идеи? - PullRequest
1 голос
/ 20 марта 2011

Вот что я хочу сделать с проверкой бина в моих сущностях JPA:

  1. Вместо @NotNull я хотел бы сделать @NotNull(message="keyInMyResourceBundleFile")
  2. Я хотел бы также параметризировать resourceBundle, и я не знаю синтаксис для него, потому что мне кажется, что атрибут сообщения содержит только строку.
  3. Сам параметр может быть i18n-ed. Например, предполагая, что есть атрибут param для параметров resourcebundle, на английском языке, @NotNull(message="missing.value", params={"credit card"}) String creditCard; Это будет отображаться примерно так: «Отсутствует обязательное значение для поля кредитная карта . В Индонезии это будет что-то как "Нилай харус ди иси унтук Карту Кредит . В этом примере я не могу жестко закодировать «кредитную карту», ​​потому что в Индонезии это «Kartu Kredit»
  4. Отображение сообщения об ошибке, определенного в комплекте ресурсов, в файле журнала или пользовательском интерфейсе. Я не уверен, как это сделать, должен ли я поймать ConstraintViolationException, получить сообщение и обработать пакет ресурсов своим собственным кодом?

Пожалуйста, поделитесь своими мыслями по этому поводу?

Спасибо!

1 Ответ

3 голосов
/ 23 марта 2011

Относительно 1 + 2

@NotNull(message="{keyInMyResourceBundleFile}")

Фигурные скобки являются индикатором замены параметров

Относительно 3

Понятия не имею, что вы после.Для @NotNull отсутствует атрибут params .Я думаю, вы бы сделали

@NotNull(message="{missing.credit.card}")

И если вы поместите его в другое свойство, вы бы назвали ключ {missing.name}

Относительно 4

ConstraintViolationException содержит набор * ConstraintViolation * s.Каждый ConstraintViolation содержит интерполированное сообщение, а также шаблон сообщения.Если вы хотите войти, сделайте это ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...