Как я могу выбрать, где появится сообщение об ошибке от валидатора `required`?

Как я могу выбрать, где сообщение об ошибке от валидатора required появляются? Сообщение об ошибке теперь отображается внизу моей страницы, но я хочу, чтобы оно было рядом с моим полем ввода.

<p>Firstname: <h:inputText value="#{userBean.firstname}" required="true"/></p>
<p>Lastname: <h:inputText value="#{userBean.lastname}" required="true"/></p>

1 ответ

Решение

Те, что появляются внизу, на самом деле являются необработанными сообщениями, которые появляются только тогда, когда javax.faces.PROJECT_STAGE был установлен на Development в web.xml,

Тебе необходимо <h:message> объявить место, где должно быть показано сообщение. Кроме того, вам также нужно <h:outputLabel> представлять метки (что имеет смысловые и практические преимущества).

Вот полный набор:

<p>
    <h:outputLabel for="firstname" value="Firstname:"/>
    <h:inputText id="firstname" label="Firstname" value="#{userBean.firstname}" required="true"/>
    <h:message for="firstname" />
</p>
<p>
    <h:outputLabel for="lastname" value="Lastname:"/>
    <h:inputText id="lastname" label="Lastname" value="#{userBean.lastname}" required="true"/>
    <h:message for="lastname" />
</p>
Другие вопросы по тегам