immediate="true" does not work on a4j:support tag
-------------------------------------------------
Key: RF-1885
URL:
http://jira.jboss.com/jira/browse/RF-1885
Project: RichFaces
Issue Type: Bug
Affects Versions: 3.1.2
Environment: mac osx 10.5.1, safari 3.0.4
Reporter: egor kolesnikov
<rich:panel>
<h:inputText id="keywordInput"
value="#{stopWordsManager.keyword}"
required="true"
requiredMessage="Please enter the
Keyword"/>
<h:commandButton
actionListener="#{stopWordsManager.resetSearch}"
value="Reset"
immediate="true"/>
<p><rich:message
for="keywordInput"/></p>
</rich:panel>
<rich:dataTable id="stopWordsTable"
rows="#{stopWordsList.pageSize}"
value="#{stopWordsList.stopWords}"
var="stopWord"
rendered="#{not
stopWordsList.isEmpty()}">
<h:column>
<h:selectBooleanCheckbox
value="#{stopWord.selected}" immediate="true">
<a4j:support event="onchange"
immediate="true"/>
</h:selectBooleanCheckbox>
</h:column>
</rich:dataTable>
</h:form>
</rich:panel>
It is expected that "<a4j:support event="onchange"
immediate="true"/>" there will be no validation and a4j will set the
"selected" attribute properly, but it looks like this does not happen -
validation happens and "setSelected(boolean)" method is not being called.
However, using "<a4j:support event="onchange"
ajaxSingle="true"/>" solves the problem, but it looks like a
"hack". It is said in the RF spec:
Note, that ajaxSingle="true" reduces the upcoming traffic, but does not
prevent decoding other input components on the server side. Some JSF components,
such as h:selectOneMenu do recognize the missing data in the request map value as
a null value and try to pass the validation process with a failed result. Thus,
use a4j:region to limit a part of the component tree that will be processed
on the server side when it is required.
--
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