En mi JSF/app Facelets, aquí es una versión simplificada de parte de mi formulario:¿Cómo mostrar los errores de mi aplicación en JSF?
<h:form id="myform">
<h:inputSecret value="#{createNewPassword.newPassword1}" id="newPassword1" />
<h:message class="error" for="newPassword1" />
<h:inputSecret value="#{createNewPassword.newPassword2}" id="newPassword2" />
<h:message class="error" for="newPassword2" />
<h:commandButton value="Continue" action="#{createNewPassword.continueButton}" />
</h:form>
me gustaría ser capaz de asignar un error a una hora específica: Etiqueta de mensaje en función de algo que sucede en el Método continueButton() Se deben mostrar diferentes errores para newPassword y newPassword2. Un validador no funcionará realmente, porque el método que entregará los resultados (desde el DB) se ejecuta en el método continueButton() y es demasiado caro para ejecutarse dos veces.
No puedo usar la etiqueta h: mensajes porque la página tiene varios lugares donde necesito mostrar diferentes mensajes de error. Cuando probé esto, la página muestra duplicados de cada mensaje.
He intentado esto como una mejor estimación, pero no hubo suerte:
public Navigation continueButton() {
...
expensiveMethod();
if(...) {
FacesContext.getCurrentInstance().addMessage("newPassword", new FacesMessage("Error: Your password is NOT strong enough."));
}
}
¿Qué me falta? ¡Cualquier ayuda sería apreciada!
Sé que no se está perdiendo debido a que el código h: mensajes escupe el error bien ... Es sólo que no sé cómo atar el error a una h específico: etiqueta de mensaje. Cambiar la identificación tampoco ayudó. –