Как запретить группировку разделителя для h: inputText? - PullRequest
1 голос
/ 19 апреля 2011

У меня есть h:inputText с f:convertNumber, прикрепленным к нему. Локаль установлена ​​на de.

В соответствии с локалью, десятичный разделитель - «,», а группирующий разделитель - «.»

Если пользователь введет «72,5», то ввод будет правильно интерпретирован как «72 с половиной». Но если я введу 72,5, то ввод будет интерпретирован как 725.

Это может привести к неправильному вводу, поскольку нет предупреждения или сообщения об ошибке, если пользователь случайно нажал "." вместо ",".

Есть ли способ предотвратить такое поведение без написания собственного валидатора или javascript? Я думаю об использовании стандартных преобразователей или валидаторов JSF?

До сих пор я пробовал f:validateRegex вместе с f:convertNumber и f:convertNumber с шаблоном, но оба не работали.

1 Ответ

2 голосов
/ 19 апреля 2011

Преобразование происходит до проверки. Так что для вашего (пользовательского) валидатора уже слишком поздно. Вам нужно создать собственный конвертер и там "подтвердить".

...