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


самым простым способом было бы установить на <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.

атрибут label также может быть выражением el, чтобы изменить эту часть сообщения об ошибке динамично.


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

<h:input text required ="true" validatorMessage="Enter user friendly message">
    <f:validateLongRange
        minimum="3"
        maximum="6"/>
</h:inputText>