我有一个使用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" />
我想要做的是,如果验证失败(值为空),焦点将返回到组件,强制用户输入值。这可能吗? 当用户点击提交按钮时,我也希望如此;如果验证失败,则第一个未通过验证的组件将被重点关注。
谢谢,
达米安
答案 0 :(得分:2)
使用required
和requiredMessage
属性可以在客户端进行。用户无法提交表单,并显示错误消息:
<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" />
如果您不使用primefaces message
属性,则可以使用requiredMessage
,因为它会向您显示两条警告消息,这有点奇怪......
关注焦点......如果你有两个inputTexts怎么办?您是否只想显示第一个焦点? 您可以在此处查看演示:http://www.primefaces.org/showcase-labs/ui/pprAjaxStatusScript.jsf