2013-11-24 5 views
0

Я хочу выполнить проверку для имени пользователя. «Нормальный» способ сделать это что-то вроде этого:JSF Validate on keyup event

<h:outputText for="username" value="Username:" /> 
<p:inputText id="username" value="#{registerService.username}" > 
    <f:validator binding="#{usernameValidator}" /> 
</p:inputText> 
<p:message for="username" /> 

<p:commandButton type="submit" value="Submit" action="#{registerService.addUser}" ajax="false" update="panel" validateClient="true" /> 

Но что я теперь хочу сделать, это проверить имя пользователя каждый раз, когда пользователь нажимает клавишу на имя пользователя inputText без нажатия CommandButton.

Таким образом, каждый символ должен инициировать проверку и должен обновлять поле сообщений для имени пользователя, чтобы показать пользователя немедленно, если имя пользователя уже присутствует в базе данных или нет.

Как я могу это сделать?

ответ

0

Найдено:

Ajax Listener

Это запускает проверку!

<h:inputText id="foo" value="#{bean.foo}"> 
    <f:ajax event="keyup" execute="@this" render="fooMessage" /> 
    <f:validator validatorId="fooValidator" /> 
</h:inputText> 
<h:message id="fooMessage" for="foo" />