JSF -验证失败的焦点组件



我有一个使用Primefaces 3.0M4组件库的JSF 2.0应用程序。我有以下输入:

<p:inputText id="input" value="#{bean.value}" required="true">
      <p:ajax event="blur" update="msg" />
</p:inputText>
<p:message id="msg" for="input" /> 

我想做的是,在验证失败的情况下(值为空),焦点返回到组件,迫使用户输入一个值。这可能吗?我也想,当用户点击提交按钮;如果验证在此失败,则聚焦未通过验证的第一个组件。

谢谢,
Damian

这在客户端是可能的,通过使用requiredrequiredMessage属性。用户无法提交表单,并显示错误消息:

<h:outputLabel for="firstname" value="Firstname: *" />  
        <p:inputText id="firstname"   
                value="#{personBean.firstname}"   
                required="true" requiredMessage="You have to enter your name" label="Firstname">  
            <f:validateLength minimum="2" />  
        </p:inputText>  
        <p:message for="firstname" />

如果你不使用requiredMessage属性,你可以使用primefaces message,因为它会显示你两个警告消息,这有点奇怪…

对于焦点,这取决于…如果你有两个输入文本呢?你想只显示第一个的焦点吗?您可以在这里看到一个演示:http://www.primefaces.org/showcase-labs/ui/pprAjaxStatusScript.jsf

最新更新