- From: Mark Birbeck <mark.birbeck@x-port.net>
- Date: Tue, 13 Sep 2005 17:33:21 +0100
- To: "'Joern Turner'" <joern.turner@web.de>
- Cc: <www-forms@w3.org>
Joern,
> the problem:
>
> if i have a switch statement with several cases and each case
> itself constituted a view/page for the user (meaning the
> content of a case uses the whole viewport of the client)
> there might occur a validation problem or more precisely a
> problem with signaling validation errors through alerts.
>
> e.g. the user fills out 'page 1' and moves on to another
> case. Fills out other data which by some calculation or
> action lead to validation failures on 'page 1'. - The user
> won't receive any alert messages and will be left without a
> clue what may have gone wrong.
>
> Is there a solution which i oversee?
There is no general solution. The obvious one is to reposition all alerts,
but the probably wouldn't show when on controls that are in hidden cases.
But a technique we began to use recently is to use groups that are bound to
the node you are interested in, but place them in a completely different
part of the form:
<xf:switch>
<xf:case id="page1">
<xf:input ref="age">
...
</xf:input>
</xf:case>
<xf:case id="page2">
<xf:group ref="age" class="error-message">
Age has been entered wrongly. Click here to go edit it...
</xf:group>
.
.
.
</xf:case>
</xf:case>
All you need to do for this to work is use CSS to *hide* valid xf:groups
with a class of "error-message". The nice thing about this technique is that
the contents of the group can be anything, so you can put in other controls
that might help the user, or perhaps a trigger that toggles the sub-form in
question.
Another version of this technique is to group all of your error messages
into a scrollable footer so that they are always 'visible' wherever you are
in the form.
Regards,
Mark
Mark Birbeck
CEO
x-port.net Ltd.
e: Mark.Birbeck@x-port.net
t: +44 (0) 20 7689 9232
w: http://www.formsPlayer.com/
b: http://internet-apps.blogspot.com/
Download our XForms processor from
http://www.formsPlayer.com/
Received on Tuesday, 13 September 2005 16:34:01 UTC