は、私が説明&は空白として名を残して、私は確認ボタンをクリックして入力した場合、私は不足している名のいずれかのエラーメッセージが表示されない次のような形式バリデーターが呼び出されないのはなぜですか?私のアプリケーションで
<h:form id="addItemForm" enctype="multipart/form-data">
<h:panelGrid columns="3" border="1">
<h:outputText value="Name: " />
<h:inputText label="name"
id="name" value="#{addItem.name}"
required="true" requiredMessage="Name is required." />
<h:message styleClass="errorMsg" for="name" />
<h:outputText value="Description: " />
<h:inputText label="description"
id="description" value="#{addItem.description}"
required="true" requiredMessage="Description is required." />
<h:message styleClass="errorMsg" for="description" />
<h:outputText style="font-weight: bold" value="Picture : " />
<t:inputFileUpload label="picture"
id="picture" value="#{addItem.picture}"
required="true" requiredMessage="Picture is required." />
<h:message styleClass="errorMsg" for="picture" />
</h:panelGrid>
<h:commandButton value="Confirm" actionListener="#{addItem.addItem}"/>
<h:outputText id="status" value="#{addItem.statusMsg}" />
</h:form>
を持っています。 1つの奇妙なことは、私のページは、私が説明のためにタイプしたものがなくなったためにリフレッシュされているようです。また、名前と説明の両方を入力しても、actionListenerのaddItem関数は呼び出されませんでした。
昨日、すべてが機能していました。誰かが私がここで間違っていたかもしれないことを教えてもらえれば、とても感謝しています。
コマンドボタンにajax( '
「更新」とは、「確認」ボタンをクリックした後、以前のリクエストに全く関係しない全く新しいリクエストのようです。私のManagedBeanはViewScopeにあります。これは、名前を入力しなくても、入力した説明がここになければならないことを意味します。 –
しかし、検証が失敗した場合、 'Update Model Values'フェーズは正しくエスケープされますか? –