[
http://jira.jboss.com/jira/browse/JBSEAM-1298?page=all ]
Christian Bauer reopened JBSEAM-1298:
-------------------------------------
To reproduce:
- run the wiki
- click on "Register"
- fill out the registration form with an existing username, e.g. "member" or
"admin"
- submit the form
A global message is shown because the username input doesn't have an identifier. Now
put id="username" on userRegister.xhtml on the field, the decorate doesn't
render the message. The message is rendered fine with <h:message
for="username"/>.
UIDecorate ignores programmatic faces messages
----------------------------------------------
Key: JBSEAM-1298
URL:
http://jira.jboss.com/jira/browse/JBSEAM-1298
Project: JBoss Seam
Issue Type: Bug
Components: Core
Reporter: Christian Bauer
Assigned To: Gavin King
<s:decorate id="usernameDecorate"
template="includes/formFieldDecorate.xhtml">
<ui:define
name="label">Username</ui:define>
<h:inputText tabindex="4" size="16"
maxlength="16" required="true" id="username"
value="#{userHome.instance.username}">
<a:support event="onblur"
action="#{userHome.validateUsername}"
reRender="usernameDecorate"/>
</h:inputText>
</s:decorate>
The userHome.validateUsername() method:
User foundUser = userDAO.findUser(getInstance().getUsername(), false, false);
if ( foundUser != null && foundUser != getInstance() ) {
facesMessages.addToControlFromResourceBundleOrDefault(
"username",
FacesMessage.SEVERITY_ERROR,
getMessageKeyPrefix() + "usernameExists",
"A user with that name already exists."
);
return false;
}
return true;
(This is actually wrapped again, the validateUsername() method returns void.)
The decoration is not rendered as invalid. If I remove the identifier of the input field,
a global message is correctly displayed.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira