3

フォームの検証時に、次のような 3 つのメッセージが表示されます。

<p:message id="msgCity1"  for="city1" styleClass="required" display="text" />
<p:message id="msgCity2"  for="city2" styleClass="required" display="text" />
<p:message id="msgCountry"  for="msgCountry" styleClass="required" display="text" />

最初の (msgCity1) と 2 番目の (msgCity2) メッセージはイベント (keyup) で検証されます。最後のメッセージはサーバー側で検証されます。最初の 2 つのメッセージで検証が成功した場合、最後のメッセージ (msgCountry) を表示したいと思います。つまり、メッセージが空の場合、

そのために、最後のメッセージでレンダリングを使用したいのですが、xhtml で最初の 2 つのメッセージの値を取得する方法がわかりません

4

1 に答える 1

1

UIInput#isValid()入力用のメッセージの存在よりも、むしろ直接フックします。

例えば

<h:inputText id="city1" binding="#{city1}" ... />
<h:inputText id="city2" binding="#{city2}" ... />
...
<p:message for="msgCountry" ... rendered="#{city1.valid and city2.valid}" />
于 2013-04-11T18:07:58.783 に答える