[
http://jira.jboss.com/jira/browse/JBSEAM-432?page=comments#action_12348907 ]
Gavin King commented on JBSEAM-432:
-----------------------------------
OK, I did some more research on the JSF RI source.
I think the correct way to handle this is to create an <s:inputText/> component (so
only for textual input, but at least its OK for a start) by subclass in the JSF component
and:
* adding an immediateApply="true|false" attribute
* overriding processDecodes to call updateModel() if immediateApply=true
This way values get applied to the model *before* in the apply request values phase,
before validation runs, just like immediate=true causes validation to occur in apply
request values.
Support @IfInvalid functionality without @IfInvalid
---------------------------------------------------
Key: JBSEAM-432
URL:
http://jira.jboss.com/jira/browse/JBSEAM-432
Project: JBoss Seam
Issue Type: Feature Request
Components: Core
Affects Versions: 1.1.0.BETA1
Reporter: Christian Bauer
Assigned To: Norman Richards
Fix For: 1.1.1.GA
The "Previous Page" button has to Update Model Values, but not Process
Validations:
<h:form>
<f:facet name="beforeInvalidField">
<h:graphicImage value="/img/attention.gif"
width="18" height="18"
styleClass="attentionImage"/>
</f:facet>
<f:facet name="afterInvalidField">
<s:message/>
</f:facet>
<f:facet name="aroundInvalidField">
<s:span styleClass="errors"/>
</f:facet>
<div class="errors" align="center">
<h:messages globalOnly="true"/>
</div>
<s:validateAll>
<div class="entry">
<div
class="label">#{messages['Firstname']}:</div>
<div class="input">
<s:decorate>
<h:inputText size="32"
required="true"
value="#{register.user.firstname}"/>
</s:decorate>
</div>
</div>
<div class="entry">
<div
class="label">#{messages['Lastname']}:</div>
<div class="input">
<s:decorate>
<h:inputText size="32"
required="true"
value="#{register.user.lastname}"/>
</s:decorate>
</div>
</div>
<div class="entry">
<div
class="label">#{messages['Email']}:</div>
<div class="input">
<s:decorate>
<h:inputText size="32"
required="true"
value="#{register.user.email}"/>
</s:decorate>
</div>
</div>
<div class="entry">
<div class="label"> </div>
<div class="input">
<h:commandButton
value="#{messages['PrevPage']}" styleClass="button"
action="register"/>
<h:commandButton
value="#{messages['NextPage']}" styleClass="button"
action="#{register.enterProfile}"/>
</div>
</div>
</s:validateAll>
</h:form>
--
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