Как настроить сообщение об ошибке проверки JSF
Как настроить сообщение проверки, которое появляется при завершении проверки?
Вот код, который у меня есть:
<h:form>
<p><h:inputText
id="userNo"
title="Type a number from 0 to 10:">
<f:validateLongRange
minimum="3"
maximum="6"/>
</h:inputText>
<h:commandButton id="submit" value="Submit"
action="response"/>
</p>
<h:message showSummary="true" showDetail="false"
id="errors1"
for="userNo"/>
</h:form>
В настоящее время сообщение выглядит следующим образом:
j_idt10:userNo: Validation Error: Specified attribute is not between the expected values of 3 and 6.
Это не очень удобно.
Ответы
Ответ 1
Самый простой способ - установить атрибут validatorMessage="my custom message"
в теге <h:inputText>
.
Для более продвинутого способа ознакомьтесь с этой статьей Настроить сообщение об ошибке проверки в JSF 2.0
И здесь полная ссылка на все доступное сообщение, которое вы можете переопределить в JSF 2.0.x
Ответ 2
В дополнение к ответу Даниэля вы всегда можете использовать атрибут label
для своих компонентов ввода для удаления идентификатора клиента (j_idt10:userNo:
) из сообщения об ошибке.
например. с
<h:inputText id="userNo" title="Type a number from 0 to 10:"
label="User number">
<f:validateLongRange
minimum="3"
maximum="6"/>
</h:inputText>
будет производить:
Номер пользователя: Ошибка проверки: указанный атрибут не находится между ожидаемые значения 3 и 6.
Атрибут метки может также быть выражением el, чтобы динамически изменять эту часть сообщения об ошибке.
Ответ 3
Вы можете использовать свойство validatorMessage входного текста. Используйте свойство requiredMessage для требуемого сообщения, оно отличается от сообщения валидатора.
<h:input text required ="true" validatorMessage="Enter user friendly message">
<f:validateLongRange
minimum="3"
maximum="6"/>
</h:inputText>