Я хочу проверить все поля ввода с помощью AJAX.
Например, есть 3 поля ввода.Два из них требуют минимальной длины 3 символа, а другой проверяется простым регулярным выражением.Для <f:ajax>
я настроил событие keyup, чтобы быстро увидеть приближающуюся проверку ajax.Полный пример может выглядеть следующим образом:
<h:form>
<h:messages id="messages" />
<h:inputText id="text1" value="#{bean.text1}">
<f:validateLength minimum="3" />
<f:ajax execute="@this" event="keyup" render="messages" />
</h:inputText>
<h:inputText id="text2" value="#{bean.text2}">
<f:validateLength minimum="3" />
<f:ajax execute="@this" event="keyup" render="messages" />
</h:inputText>
<h:inputText id="text3" value="#{bean.text3}">
<f:validateRegex pattern="[A-Z][a-zA-Z]*" />
<f:ajax execute="@this" event="keyup" render="messages" />
</h:inputText>
</h:form>
Как только я оставляю поле ввода первого ввода с ошибкой, перехожу во 2-е поле и набираю там недопустимые данные, сообщение из первого недопустимого поля исчезает, посколькусообщения возвращаются!Если для параметра execute выполнить @form, все поля будут проверены, как только я начну печатать в первом поле ввода.
Поэтому мой вопрос: как отображать ВСЕ ошибки проверки с помощью AJAX, а не толькопоследнее сообщение от последнего недопустимого поля?
PS: я использую Mojarra 2.0.3 (+ Richfaces + Primefaces) на Websphere