Сообщение JSF: не локализовать? - PullRequest
1 голос
/ 16 ноября 2010

У меня есть простая форма с <h:message> рядом с каждым <h:inputText> для отображения сообщений проверки.

Я хочу, чтобы конкретное поле было числом от 1 до 999999, и это сообщение проверки должно отображаться, если число не в правильном диапазоне. Используя это:

<f:validateLongRange minimum="1" maximum="999999"/>

Я получаю сообщение:

productId: Validation Error: Specified attribute is not between
the expected values of 1 and 999,999. 

Я получил запрос показать номер без разделителя запятых, но это связано с языком, который у меня есть в моем faces.config.

Сначала я рассмотрел базовое решение создания валидатора custon, и оно будет проверять, является ли переданное значение строкой и находится ли он в требуемом диапазоне, но мне кажется, это немного излишне.

Есть ли другой способ сделать это?

Ответы [ 2 ]

2 голосов
/ 16 ноября 2010

Если вы используете JSF 1.2, вы можете установить альтернативное сообщение проверки в вашем компоненте ввода:

<h:inputText value=".." validatorMessage="Please enter a valid number">
  <f:validateLongRange minimum="1" maximum="999999"/>
</h:inputText>
1 голос
/ 17 ноября 2010

на каком языке вы хотите, чтобы ваше сообщение для проверки появлялось?

Одна коллега недавно должна была решить, что (я думаю) является вашей проблемой: мы итальянцы, итальянский пакет и итальянский языковой стандарт загружены, но все сообщения проверки JSF (не пользовательские, для которых языковой стандарт был правильно установлен и получен) по-английски. Изучив JAR-файлы JSF, он обнаружил, что файлы свойств, из которых получено это сообщение проверки, просто ... недоступны на итальянском языке! Ему пришлось искать уже (плохой) переведенный файл свойств и включить его в файл JSF jar.

Надеюсь, это решит и вашу проблему.

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