使用Primefaces/JSF对输入框进行实时验证

使用Primefaces/JSF对输入框进行实时验证,jsf,primefaces,jsf-2,Jsf,Primefaces,Jsf 2,我需要知道是否有一种使用Primefaces/JSF进行实时验证的方法 我的要求看起来很简单: 我有一个只使用唯一名称的输入框。例如,如果用户希望输入数据库中已经存在的名称,则 应抛出类似“用户名已存在”的错误消息。此 应在用户移出输入框后立即发生 参考可以从谷歌注册页面推断 我花了很多时间在互联网上研究,但还没有找到任何具体的解决方案 我主要在Primefaces/JSF中寻找解决方案。有可能吗?您可以使用普通JSF实现这一点。您只需使用验证器并将ajax行为添加到您的输入字段中,例如 fac

我需要知道是否有一种使用Primefaces/JSF进行实时验证的方法

我的要求看起来很简单:

我有一个只使用唯一名称的输入框。例如,如果用户希望输入数据库中已经存在的名称,则 应抛出类似“用户名已存在”的错误消息。此 应在用户移出输入框后立即发生

参考可以从谷歌注册页面推断

我花了很多时间在互联网上研究,但还没有找到任何具体的解决方案


我主要在Primefaces/JSF中寻找解决方案。有可能吗?

您可以使用普通JSF实现这一点。您只需使用验证器并将ajax行为添加到您的输入字段中,例如

facelet

<h:form id="form">
    <h:messages id="messages" />
    <h:inputText value="#{anyBean.username}" validator="userValidator">
        <f:ajax render="@this messages" />
    </h:inputText>
</h:form>

当然,您也可以使用等价的PrimeFaces组件p:messages、p:inputText和p:ajax。

您可以使用普通JSF来实现这一点。您只需使用验证器并将ajax行为添加到您的输入字段中,例如

facelet

<h:form id="form">
    <h:messages id="messages" />
    <h:inputText value="#{anyBean.username}" validator="userValidator">
        <f:ajax render="@this messages" />
    </h:inputText>
</h:form>

当然,您也可以使用等效的PrimeFaces组件p:messages、p:inputText和p:ajax。

出于好奇提出问题。在您所有的搜索中,您没有遇到任何关于实时实现的“validator”(用于验证)或“ajax”的点击?@Kukeltje事实上,我确实遇到了实时实现的“validator”和“ajax”,但是由于我的需求要求我从项目列表中获取数据,出于好奇,我想知道如何在JSF/PrimefacesQuestion中实现它。在您所有的搜索中,您没有遇到任何关于实时实现的“validator”(用于验证)或“ajax”的点击?@Kukeltje事实上,我确实遇到了实时实现的“validator”和“ajax”,但是由于我的需求要求我从项目列表中获取数据,对于如何在JSF/Primefaces中实现这一点,我有点好奇