我想验证我的 inputText 字段,它位于 popupPanel 中。它应该只包含数字。
<h:form>
<h:outputText value="Input:"/>
<h:inputText id="myID" value="#{myBean.field}"
validatorMessage="Only numbers">
<f:validateRegex pattern="([0-9])*$" />
<rich:validator />
<a4j:ajax event="change" render="msgValidator" />
</h:inputText>
<h:message id="msgValidator" for="myID" styleClass="text_colorRed" />
</h:form>
毕竟我想用按钮保存所有内容。如果输入正确,我想关闭弹出窗口,否则我想重新插入正确的输入而不关闭弹出窗口。
<a4j:ajaxButton type="submit" value="Save" styleClass="text_weigthBold"
action="#{myBean.save()}" render="myTable"
oncomplete="#{rich:component('myPopup')}.hide();" execute="@this">
</a4j:ajaxButton>
不幸的是,当我输入错误的输入并在按钮上单击两次时,它会保存请求并关闭弹出窗口,而不要求输入正确的文本。
我还使用了 Java 验证器,但行为仍然相同。
我能做些什么来纠正这个错误?