[jbossseam-issues] [JBoss JIRA] Commented: (JBSEAM-432) Support @IfInvalid functionality without @IfInvalid

Norman Richards (JIRA) jira-events at jboss.com
Sun Dec 17 13:04:39 EST 2006


    [ http://jira.jboss.com/jira/browse/JBSEAM-432?page=comments#action_12348898 ] 
            
Norman Richards commented on JBSEAM-432:
----------------------------------------

I think this is an invalid request.  The only logical place to store unvalidated, uncoverted state is in the view, not the model.   You cannot update the model from a non-validated value.  The UIInput doesn't allow that.  Without completely and fundamentally changing the way input works in JSF, the best we could do would be to somehow turn off the contribution s:validateAll makes, but you would still be left with any other validation (string conversion, required, etc...) and if any of those fail you would not be able to move back to the previous screen. 

Is there perhaps some way to keep the UIViewRoots alive in a pageflow so that the submitted values don't disappear?  

> 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">&#160;</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

        



More information about the seam-issues mailing list