avertissement facesmessage(s) ont été mis en file d'attente, mais ne peut pas être affichée

j'ai un formulaire avec des entrées de validation comme suit:

<h:form id="insurance-form" rendered = "#{(param['insSaved']=='editable')}">
<div id="insurance-info">
<ul id="form-labels" style="text-align:left;">
<li>Insurance Company&nbsp;</li>
<li>Policy Number&nbsp;</li>
<li>Coverage Amount&nbsp;</li>
<li>Agent's Phone Number&nbsp;</li>
<li>Agent's Email&nbsp;</li>
</ul>
<ul>
<li>
<h:inputText value="#{residenceBeans.insuranceCompany}" id="insurance-company" required="true" requiredMessage="company is required"/>
<h:message for="insurance-company" styleClass="validation-error-msg insuarnce-validation"/>
</li>
<li>
<h:inputText value="#{residenceBeans.policyNumber}" id="insurance-policy" required="true" requiredMessage="number is required"/>
<h:message for="insurance-policy" styleClass="validation-error-msg insuarnce-validation"/>
</li>
<li>
<h:inputText value="#{residenceBeans.coverageAmount}" id="insurance-amount" required="true" requiredMessage="coverage amount is required"/>
<h:message for="insurance-amount" styleClass="validation-error-msg insuarnce-validation"/>
</li>
<li>
<h:inputText value="#{residenceBeans.agentPhone}" id="insurance-phone" required="true" requiredMessage="phone is required"/>
<h:message for="insurance-phone" styleClass="validation-error-msg  insuarnce-validation"/>
</li>
<li>
<h:inputText value="#{residenceBeans.agentMail}" id="insurance-mail" required="true" requiredMessage="email is required">
<f:validator validatorId="emailValidator"/>
</h:inputText>
<h:message for="insurance-mail" styleClass="validation-error-msg insuarnce-validation"/>
</li>
</ul>                                       
<h:commandLink value="SAVE POLICY INFORMATION" action="#{residenceBeans.saveInsuranceInfo}"  styleClass="insurance-link-container">
<f:param name="insSaved" value="saved"/>
</h:commandLink>
</div>
</h:form>   

au moment de quitter les champs vide et de la soumission du formulaire, je suis dans l'attente de la validation des messages à afficher, mais au lieu de cela, je reçois le message d'avertissement suivant:

21:20:47,671 INFO  [javax.enterprise.resource.webcontainer.jsf.renderkit] (http--127.0.0.1-8080-3) WARNING: FacesMessage(s) have been enqueued, but may not have been displayed
sourceId=insurance-form:insurance-company[severity=(ERROR 2), summary=(company is required), detail=(company is required)]
sourceId=insurance-form:insurance-policy[severity=(ERROR 2), summary=(number is required), detail=(number is required)]
sourceId=insurance-form:insurance-amount[severity=(ERROR 2), summary=(coverage amount is required), detail=(coverage amount is required)]
sourceId=insurance-form:insurance-phone[severity=(ERROR 2), summary=(phone is required), detail=(phone is required)]
sourceId=insurance-form:insurance-mail[severity=(ERROR 2), summary=(email is required), detail=(email is required)]

veuillez vous conseiller sur la façon de corriger l'erreur.

Avez-vous changé le nom par défaut du conteneur caractère séparateur de : à -? Par la manière, la forme du rendered attribut ne correspond pas à la f:param valeur, de sorte que le tout forme n'aurait pas été rendu à tous après la soumission. N'est-ce pas juste la cause de votre problème concret? Mais ne serait-il pas évident que c'est l'ensemble de la forme qui ne s'est pas présenté, et pas seulement les messages?
non, je n'ai pas changé le séparateur de l'id de l'ressemble: assurance-forme:assurance-entreprise comme prévu. que conseillez-vous ?
je dois donc utiliser le rendu de l'attribut sur les entrées à la place ?
Mais le code que vous avez jusqu'à présent masquer l'ensemble de la <h:form> complètement une fois qu'il a été soumis, y compris tous les enfants <h:message> composants, parce que l' <h:form rendered> permettrait d'évaluer à false. Par conséquent, les messages sont jamais affichés, donc le message d'avertissement dans les journaux est entièrement prévu. Est-ce que réel code ou d'une simplification excessive et imprudente? S'il vous plaît re-lire le commentaire précédent une fois de plus.
c'est un code pour une autre personne à laquelle je travaille, après avoir cliqué sur le bouton, il se cache le formulaire et afficher les valeurs d'entrée comme des étiquettes, je suppose que ça ne doit pas masquer le formulaire en cas d'erreurs de validation.

OriginalL'auteur Mahmoud Saleh | 2012-10-29