Lukáš Fryč created RF-11978:
-------------------------------
Summary: Graph Validator - does not mark context to fail validation
Key: RF-11978
URL:
https://issues.jboss.org/browse/RF-11978
Project: RichFaces
Issue Type: Bug
Security Level: Public (Everyone can see)
Reporter: Lukáš Fryč
GraphValidator is using BeanValidator to check that instance does not failed [1],
and it calls
[{{facesContext.renderResponse()}}|http://docs.oracle.com/javaee/6/api/javax/faces/context/FacesContext.html#renderResponse()]
when beanValidation returns some message.
However it does not call
[{{facesContext.validationFailed()}}|http://docs.oracle.com/javaee/6/api/javax/faces/context/FacesContext.html#isValidationFailed()].
[1]
https://github.com/richfaces/components/blob/develop/validator/ui/src/mai...
----
This causes problem when another component reads the
[{{FacesContext.isValidationFailed()}}|http://docs.oracle.com/javaee/6/api/javax/faces/context/FacesContext.html#isValidationFailed()]
flag in order to distinguish is it should proceed or not, like in following snippet.
----
Following snippet is part of the wizard using togglePanel and toggleControl in order to
switch panels.
When user hits Continue button, togglePanel is switched regardless the graphValidator
validation failed or not - when validation for another component like {{h:inputText}}
fails, toggleControl does not switch.
{code:XML}
...
<rich:togglePanelItem>
<!-- Step 3: password -->
<rich:graphValidator id="passwordsValidation"
value="#{passwordBean}">
<rich:messages for="passwordsValidation" />
<h:panelGrid columns="3">
<h:outputLabel for="password" value="Password" />
<h:inputSecret id="password"
value="#{passwordBean.password}" />
<rich:message for="password" />
<h:outputLabel for="passwordConfirmation"
value="Confirmation" />
<h:inputSecret id="passwordConfirmation"
value="#{passwordBean.passwordConfirmation}" />
<rich:message for="passwordConfirmation" />
</h:panelGrid>
<a4j:commandButton value="Back">
<rich:toggleControl event="click" targetItem="@prev"
/>
</a4j:commandButton>
<a4j:commandButton value="Continue">
<rich:toggleControl event="click" targetItem="@next"
/>
</a4j:commandButton>
</rich:graphValidator>
</rich:togglePanelItem>
...
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira