Сообщение об ошибке проверки bean-компонента Jsr303 без префикса формы и имени поля - PullRequest
0 голосов
/ 26 января 2012

Я использую проверку bean и extval. Я создал файл свойств с именем ValidationMessages.properties внутри моего пути к классам. внутри этого файла я настроил сообщения по умолчанию,

например: javax.validation.constraints.Size.message=this is a test messgae

при проверке поля я вижу сообщение, которое я написал, но проблема в том, что я также вижу поле и имя формы перед сообщением 'вот так: formName:fieldName this is a test.
Я хочу удалить этот префикс. когда это проверка jsf, я знаю, что мне нужно добавить свойство javax.faces.validator.BeanValidator.MESSAGE, но здесь это не работает.

что мне нужно сделать, чтобы удалить этот префикс и увидеть только само сообщение?

UPDATE: Как я могу переопределить и валидация бина и сообщения об ошибках jsf по умолчанию? (а также удалить префикс формы и имя файла перед сообщением) У меня есть ValidationMessages.properties для сообщений bean и messages.properties для проверки jsf. Что мне нужно определить в файлах config-xml и web.xml? и куда мне положить свойство javax.faces.validator.BeanValidator.MESSAGE?

это очень и очень важно для меня,

любая помощь будет оценена,

Заранее благодарен.

Ответы [ 2 ]

1 голос
/ 26 января 2012

В каком файле вы указали свойство javax.faces.validator.BeanValidator.MESSAGE?

Свойство должно быть определено в наборе ресурсов, известном JSF (например, в наборе, зарегистрированном в faces-config.xml), а не в ValidationMessages.properties.

Значение свойства должно быть {0} (javax.faces.validator.BeanValidator.MESSAGE={0}), если вы не хотите отображать метки компонентов, а только сообщение о нарушении ограничения.Дополнительную информацию можно найти в спецификации JSF 2, раздел 3.5.6.3.

0 голосов
/ 07 октября 2012

Я думаю, что теперь вы решили эту проблему, если не попробуете это: - на вашей странице .xhtml означает, где вы объявляете компонент, сделайте атрибут lable пустым ("").Это не будет принимать значение префикса, будет отображаться только сообщение об ошибке.

Для поля ввода текста требуется некоторая проверка, а затем используйте вот так

<h:inputText id="abc" value="My Textbox" label="">

просто попробуйте с этим, ядумаю, что ваша проблема может быть решена.

...