I'm trying to make a page with a form which sends data to another page only when all data inputs are validated.

First, Is there a way to make such as formular without explicitly check every field validation in page flow ?
And, is it possible to display error messages only when data have been sent at least once, and not on first display of the form, without explicit declaration in constraint ?


Then, when there is a validation constraint on an input field, the corresponding xforms instance data field is auto-populated with an "xxforms:valid" attribute. The problem is that it seems that I cannot access this attribute in page flow in order to ensure validity of data, even if I declare xxforms namespace I get an exception : "Namespace prefix 'xxforms' has not been declared"

I'm using Orbeon 2.6 on tomcat 5.0.28

*page-flow.xml*

<config
   xmlns="http://www.orbeon.com/oxf/controller";
   xmlns:oxf="http://www.orbeon.com/oxf/processors";
   xmlns:xu="http://www.xmldb.org/xupdate";
       xmlns:xxforms="http://orbeon.org/oxf/xml/xforms";
   >

<!-- Files to serve directly -->
<!-- CSS generated by a pipeline -->
<page id="layout-css" path-info="/oxf-theme/orbeon-layout.cssd" model="/oxf-theme/orbeon-layout.xpl"/>


<page id="ask-name" path-info="/XFHello2/ask" view="test/ask-name-xform.xsl" xforms="test/xforms-model.xml">
<action
when="
/myform/action = 'next'
and /myform/[EMAIL PROTECTED]:valid] = 'true'
">
<result page="display-name">
<!-- To make Orbeon share data between pages --> <xu:update select="/myform/first-name">
<xu:value-of select="document('oxf:instance')/myform/first-name"/>
</xu:update>
</result>
</action>
</page>


<page id="display-name" path-info="/XFHello2/display" view="test/display-name-xform.xsl" xforms="test/xforms-model.xml">
<action when="/myform/action = 'back' ">
<result page="ask-name"/>
</action>
</page>


   <page id="home" path-info="/">
       <action>
           <result page="ask-name"/>
       </action>
   </page>

<!-- Not Found and Error pages -->
<page id="not-found" path-info="/not-found" view="/config/notfound.xml"/>
<page id="error" path-info="/error" model="/config/errorx.xpl"/>


<epilogue url="oxf:/config/epilogue.xpl"/>
<not-found-handler page="not-found"/>
<error-handler page="error"/>
</config>


*xforms-model.xml*

<xforms:model
   xmlns:xforms="http://www.w3.org/2002/xforms";
   >
   <xforms:instance>
       <myform>
           <first-name/>
           <action />
       </myform>
   </xforms:instance>
       <xforms:submission method="post" />

       <!-- data constraints -->
       <xforms:bind nodeset="/myform/first-name"
           constraint="matches(.,'[a-z]{1,}') or /myform/action!='next'"
           />

</xforms:model>

*ask-name-form.xsl*

<html xmlns="http://www.w3.org/1999/xhtml";
xmlns:xforms="http://www.w3.org/2002/xforms";
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
xsl:version="2.0"
>
<head>
<title>Hello XForm1</title>
</head>
<body>
<xforms:group >
<p>
Please enter your first name:
<xforms:input ref="/myform/first-name">
<xforms:alert>
Name must contain only one or more alphabetical characters.
</xforms:alert>
</xforms:input>
<xforms:submit>
<xforms:label>Next >></xforms:label>
<xforms:setvalue ref="/myform/action">next</xforms:setvalue>
</xforms:submit>
</p>
</xforms:group>
<p>
<f:xml-source xmlns:f="http://orbeon.org/oxf/xml/formatting";>
<xsl:copy-of select ="/*" />
</f:xml-source >
<xsl:copy-of select ="/*" />
</p> </body>
</html>


*display-name-form.xml*

<html xmlns="http://www.w3.org/1999/xhtml";
xmlns:xforms="http://www.w3.org/2002/xforms";
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
xmlns:f="http://orbeon.org/oxf/xml/formatting";
xsl:version="2.0"
>
<head>
<title>Hello XForm2</title>
</head>
<body>
<xforms:group>
<p>
Hello <xsl:value-of select="/myform/first-name"/>!
<xforms:submit>
<xforms:label>Back</xforms:label>
<xforms:setvalue ref="/myform/action">back</xforms:setvalue>
</xforms:submit>
</p> </xforms:group>
<p>
<f:xml-source>
<xsl:copy-of select ="/*" />
</f:xml-source >
</p>
</body>
</html>





-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/
_______________________________________________
orbeon-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/orbeon-user

Reply via email to