3
我想用AJAX验证所有输入字段。JSF和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场和类型无效的东西在那里,从第一个无效的字段信息消失,因为消息被重新渲染!一旦我开始在第一个输入字段中输入内容,将执行设置为@form将导致所有字段被验证。
所以我的问题是: 如何显示与AJAX的所有验证错误,而不是从最后一个无效字段的最后一条消息?
P.S。:林在WebSphere
thx为快速回答,我标记为正确的。我将尝试将建议的功能作为组合包装。挑战将是“收集”并对每个(输入)组件的ID进行分组,并将它们链接到页面顶部的消息组中。对此有何建议/解决方案?其他人如何做这样的事情? – jonnie119 2011-05-03 04:48:34