Re: [Chiba-users] Fwd: Problem with Revalidate - Bug?
Creators discontinued Chiba & founded betterFORM http://betterform.de
Brought to you by:
chibaxforms,
windauer
From: Joern T. <joe...@we...> - 2006-06-20 21:27:30
|
Ish, Ish Sharma wrote: > Guys, can you please help me with this one? > > Hi, > > I have a form with three tabs. Each tab have some input fields and there > are some constraints on them. > If the input values do not follow constraints(for data types) then the > form can not be submitted, this is fine but I am able to toggle between > the tabs. > > I do not want to allow the user to travserse/toggle the tabs if input > values are not valid. How can I do this? I have tried using > <xforms:revalidate/> tag when toggling between the tabs but it is still > not working. > > Can anyone please help me out here and let me know where I am making a > mistake or is this a bug? No, this is no bug. There's simply no way in XForms 1.0 to do what you want cause there's no way of stopping or conditional execution of actions. A xforms:switch is a purely UI-oriented construct which means that you can't make the toggle react on anything happening in the model (like a failing validation). If you want to switch between views based on states in the model you can use xforms/@relevant attribute on bind and show/hide groups based on that. Sorry i've no better news for you - XForms 1.1 will give you much more control for such use cases. Joern > > Look forward to hear from you soon > > Thanks, > Ish > > This is XMl file: > > > <?xml version="1.0" encoding="ISO-8859-1"?> > <html xmlns="http://www.w3.org/1999/xhtml > <http://www.w3.org/1999/xhtml>" xmlns:chiba=" > http://chiba.sourceforge.net/xforms" > xmlns:ev=" http://www.w3.org/2001/xml-events" > xmlns:xforms="http://www.w3.org/2002/xforms > <http://www.w3.org/2002/xforms>" > xmlns:xs=" http://www.w3.org/2001/XMLSchema" xmlns:xsi=" > http://www.w3.org/2001/XMLSchema-instance > <http://www.w3.org/2001/XMLSchema-instance>"> > <head><title></title> > <xforms:model> > <xforms:submission id="debug" xforms:action="/Exec/ExecChibaServlet" > xforms:method="post" xforms:replace="all"/> > <xforms:instance id="data" xmlns=""><data> > > <general> > <F_CUSTOM_NUM1 xsi:nil="true"></F_CUSTOM_NUM1></general> > > <assesment><F_NAME xsi:nil="true">Call Centre Relocation</F_NAME> > </assesment> > > <other><F_PRIORITY xsi:nil="true">2</F_PRIORITY></other> > > </data></xforms:instance> > > <xforms:instance id="labels" > xmlns=""><labels><F_NAME>Name</F_NAME><F_PRIORITY>Priority</F_PRIORITY> > > <F_CUSTOM_NUM1>Program Custom Number1</F_CUSTOM_NUM1> > > </labels></xforms:instance> > > > > <xforms:bind id="bind-data" xforms:nodeset="/data"> > <xforms:bind id="bind-general" xforms:nodeset="general"> > <xforms:bind id="exec_F_CUSTOM_NUM1_label" > nodeset="instance('labels')/F_CUSTOM_NUM1"/> > <xforms:bind id="exec_F_CUSTOM_NUM1_value" nodeset="F_CUSTOM_NUM1" > xforms:type="float" /> > </xforms:bind> > > > <xforms:bind id="bind-assesment" xforms:nodeset="assesment"><xforms:bind > id="exec_F_NAME_label" nodeset="instance('labels')/F_NAME"/> > <xforms:bind id="exec_F_NAME_value" nodeset="F_NAME" > xforms:type="string" /> > </xforms:bind> > > <xforms:bind id="bind-other" xforms:nodeset="other"> > <xforms:bind id="exec_F_PRIORITY_label" > nodeset="instance('labels')/F_PRIORITY"/> > <xforms:bind id="exec_F_PRIORITY_value" nodeset="F_PRIORITY" > xforms:type="integer" /> > </xforms:bind> > </xforms:bind> > > </xforms:model> > > > </head><body> > > > <xforms:switch appearance="full" > > > <xforms:case id="switch-toggles" selected="false"><xforms:trigger > id="General"><xforms:label>General</xforms:label> > > <xforms:action id="aa"> > > <xforms:revalidate id="revalidate-general"/> > > <xforms:toggle case="case-General"/></xforms:action></xforms:trigger> > > <xforms:trigger > id="Assesment"><xforms:label>Assesment</xforms:label><xforms:action id="bb"> > > <xforms:revalidate id="revalidate-assesment"/> > > <xforms:toggle case="case-Assesment"/></xforms:action></xforms:trigger> > > <xforms:trigger > id="Other"><xforms:label>Other</xforms:label><xforms:action id="cc"> > > <xforms:revalidate id="revalidate-other"/> > > <xforms:toggle case="case-Other"/></xforms:action></xforms:trigger> > > > > </xforms:case> > > <xforms:case id="case-General" > selected="true"><xforms:label>General</xforms:label><xforms:group > appearance="full"> > > > <xforms:input id="F_CUSTOM_NUM1_value" > xforms:bind="exec_F_CUSTOM_NUM1_value"> > <xforms:label id="F_CUSTOM_NUM1_label" > xforms:bind="exec_F_CUSTOM_NUM1_label"/> > <xforms:alert> Only Float type value is allowed</xforms:alert> > </xforms:input> > </xforms:group></xforms:case><xforms:case id="case-Assesment" > selected="false"><xforms:label>Assesment</xforms:label><xforms:group > appearance="full"> > <xforms:input id="F_NAME_value" > xforms:bind="exec_F_NAME_value"><xforms:label id="F_NAME_label" > xforms:bind="exec_F_NAME_label"/> > <xforms:alert> Only Char type value is > allowed</xforms:alert></xforms:input> > > > </xforms:group></xforms:case><xforms:case id="case-Other" > selected="false"><xforms:label>Other</xforms:label><xforms:group > appearance="full"> > > > > <xforms:input id="F_PRIORITY_value" > xforms:bind="exec_F_PRIORITY_value"><xforms:label id="F_PRIORITY_label" > xforms:bind="exec_F_PRIORITY_label"/> > <xforms:alert> Only Integer type value is > allowed</xforms:alert></xforms:input> > > > > > > </xforms:group></xforms:case></xforms:switch> > <xforms:group appearance="full"><xforms:trigger > id="submit"><xforms:label>Save</xforms:label><xforms:action> > > <xforms:send > submission="debug"/></xforms:action></xforms:trigger></xforms:group></body></html> > > > ------------------------------------------------------------------------ > > _______________________________________________ > Chiba-users mailing list > Chi...@li... > https://lists.sourceforge.net/lists/listinfo/chiba-users |