Как настроить сообщение об ошибке проверки 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. 

Что не особенно удобно для пользователя.

3 ответа

Решение

Простейшим способом было бы установить validatorMessage="my custom message" атрибут в <h:inputText> тег.

Для более продвинутого способа прочитайте эту статью. Настройте сообщение об ошибке проверки в JSF 2.0.

А здесь полная ссылка на все доступные сообщения, которые вы можете переопределить в JSF 2.0.x

В дополнение к ответу Даниила вы всегда можете использовать 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 для динамического изменения этой части сообщения об ошибке.

Вы можете использовать свойство validatorMessage для ввода текста. Используйте свойство requiredMessage для обязательного сообщения, оно отличается от сообщения валидатора.

<h:input text required ="true" validatorMessage="Enter user friendly message">
    <f:validateLongRange
        minimum="3"
        maximum="6"/>
</h:inputText>
Другие вопросы по тегам