popupPanel にある inputText フィールドを検証したいと思います。数字のみを含める必要があります。
<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>
残念ながら、間違った入力を入力してボタンを 2 回クリックすると、正しいテキストの入力を要求せずに要求が保存され、ポップアップが閉じられます。
Java バリデーターも使用しましたが、動作は同じです。
このバグを修正するにはどうすればよいですか?