Alerts & Required

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Alerts & Required

Salamon Mark
I am still fairly new to OPS.  I am hoping to use only a small portion of the OPS framework for now.

My purpose in using OPS is simply to take advantage of the XForms capability to deliver a form in XForms, have all of the elements automatically validated (without having to write any special code) and return the values to the server in xml format.  (I have a very dynamic group of forms that will exist in XML format and will be converted via XSLT into XForms.  All of the data is being stored in SQL Server 2005 in native XML format.)

Some of the key features I was hoping to use include alerts, help text and hints, along with required fields and constraints.  I love the way that help text and hints were implemented, but I was surprised to read -- only in respone to a post -- that the alert text is completely ignored.  How can that be?  Is there a SIMPLE way to have the alert text displayed, either when the user tries to submit a form (for example, where a required field was left blank) or when a user enters an invalid value on a constrained field?

Related to this, I was confused about how required fields are indicated.  For textfields/textareas, the background color is different.  But for date pickers and select fields (among others, I assume, but I have not tried all of them), it is not the same.  For example, date fields have an exclamation point to indicate required, while other fields have an exclamation point when there is a constraint.  Select fields don't show anything when they are required, perhaps because there is always a value selected by default.  I tried to have the first item in the select have an empty value (with the "Select One..." as the label), but this was not viewed as being an empty value.  It was only after I added a constraint (string length > 0) that I got an exclamation point.  Is there a way to include an empty item in a select that is recognized as being an empty value without adding a contraint?

I think the method of showing that ANY type of field is required needs to be made uniform, either by adding an asterisk (or other character, which can be determined by the developer), before or after the field (again, at the developer's choice), or adding a background color (perhaps AROUND the field) to the required items, and the color will turn off when a value has been added. But the different ways of indicating required, right now, does not make sense.

Also, in addition to displaying alert text, it is not clear why, by default, the exclamation point shows up next to a constrained field before any value has been added.  If I make a field a positiveInteger, there should not be an exclamation point, only an optional hint that a positive integer is required.  If I enter an incorrect value, at that point show me the exclamation point/alert text, but not until then.  It just makes the form look cluttered and gives the user the impression that they have already made an error before they have even started the form. (The fact that the exclamation point is used sometimes to denote required and other times to denote a constraint makes this more confusing.)

Also, instead of always showing the hint (btw, I really like the way the hint for the field with focus gets highlighted), how about hiding the hint until the user enters the field?  Always showing the hint, even if the field is empty or contains a valid value, makes the page look very busy.  Is there an easy way to do this?

Sorry for all of the criticism.  I think you have done a great job but from a UI designer's perspective, I think more flexibility and uniformity is needed.


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Alerts & Required

Erik Bruchez
Administrator
Mark,

First, thanks for the extensive feedback.

 > My purpose in using OPS is simply to take advantage of the XForms
 > capability to deliver a form in XForms, have all of the elements
 > automatically validated (without having to write any special code)
 > and return the values to the server in xml format.  (I have a very
 > dynamic group of forms that will exist in XML format and will be
 > converted via XSLT into XForms.  All of the data is being stored in
 > SQL Server 2005 in native XML format.)

That sounds like a good plan.

 > Some of the key features I was hoping to use include alerts, help
 > text and hints, along with required fields and constraints.  I love
 > the way that help text and hints were implemented, but I was
 > surprised to read -- only in respone to a post -- that the alert
 > text is completely ignored. How can that be?

That is in fact not true: the alert text is displayed upon mouseover
over the error icon.

 > Is there a SIMPLE way to have the alert text displayed, either when
 > the user tries to submit a form (for example, where a required field
 > was left blank) or when a user enters an invalid value on a
 > constrained field?

If you mean that the alert text should be displayed *not* as a
mouseover, then you can follow the example of the DMV Forms, which
displays a fairly user-friendly error summary on the detail page:

   http://www.orbeon.com/ops/forms

This is quite flexible but may not qualify as simple, as it is not
(yet) a module you can just plug in your XForms page. So I agree that
there should also be an option to display the alert text next to the
error icon. The ever coming issue is that of styling: how to you
position the alert message, for example? I entered an RFE to track
this:

http://forge.objectweb.org/tracker/index.php?func=detail&aid=306231&group_id=168&atid=350207

 > For example, date fields have an exclamation point to indicate
 > required

 > Is there a way to include an empty item in a select that is
 > recognized as being an empty value without adding a contraint?

The error icon indicates that the field is invalid, which is the case
if no date was selected, for example. The bug seems to be that there
is no indication that the field is required-but-empty. I entered a bug
to track this:

http://forge.objectweb.org/tracker/index.php?func=detail&aid=306232&group_id=168&atid=350207

 > I think the method of showing that ANY type of field is required
 > needs to be made uniform, either by adding an asterisk (or other
 > character, which can be determined by the developer), before or
 > after the field (again, at the developer's choice), or adding a
 > background color (perhaps AROUND the field) to the required items,
 > and the color will turn off when a value has been added. But the
 > different ways of indicating required, right now, does not make
 > sense.

There are actually two different things here:

o Indicating that a field is required, which OPS doesn't do at all,
   but which would be a nice to have (as a workaround you can add a *
   manually in your XHTML, with the risk of being out of sync with
   constraints, and of course if a required constraint changes
   dynamically, this wouldn't be reflected). I added an RFE to track
   this:

http://forge.objectweb.org/tracker/index.php?func=detail&aid=306233&group_id=168&atid=350207

o Indicating that a required field is currently empty, which OPS does
   correctly for input fields and textareas by adding the class
   xforms-required-empty on the control, so you can control the style
   with CSS.

 > Also, in addition to displaying alert text, it is not clear why, by
 > default, the exclamation point shows up next to a constrained field
 > before any value has been added. If I make a field a
 > positiveInteger, there should not be an exclamation point, only an
 > optional hint that a positive integer is required.  If I enter an
 > incorrect value, at that point show me the exclamation point/alert
 > text, but not until then.  It just makes the form look cluttered and
 > gives the user the impression that they have already made an error
 > before they have even started the form.

The question of *when* to show errors and required fields has been
discussed in the past, so far with no ideal resolution. I can't find
the thread right now, but we discussed adding a class xforms-visited
on visited fields. With someting like this, you can control the
appearance of required-but-empty-but-not-visited fields differently
from that of required-but-empty-and-visisted fields, etc.

But not all use cases were covered with this, in particular after the
use tries to submit the form, you should probably mark all fields as
visited. IIRC, the issuses were:

1. How do you detect a "save" (not all XForms submissions will save
    the form).

2. How do you detect the particular fields on a page that participate
    in a submission?

But this would be a great one to solve.

 > Also, instead of always showing the hint (btw, I really like the way
 > the hint for the field with focus gets highlighted), how about
 > hiding the hint until the user enters the field? Always showing the
 > hint, even if the field is empty or contains a valid value, makes
 > the page look very busy. Is there an easy way to do this?

One thing we were going to do, upon request, was to add an option to
display hints as tooltips, which appears to be what most
implementations do. In this case, we already have at least three ways
to show hints:

o As they show now, inline
o As tooltips
o Inline, but only upon a certain condition

So what is the best way, if any, and how do you make it configurable,
are the questions. As much as possible, we would like to use CSS for
styling, but that does not cover styles as different as "inline" and
"tooltip". Those would probably have to remain non-CSS options, with
fine-grain controls over those with CSS.

There is a chance we could harmonize the inline and tooltip
functionality for hints and alerts.

 > Sorry for all of the criticism.  I think you have done a great job
 > but from a UI designer's perspective, I think more flexibility and
 > uniformity is needed.

I don't disagree with you here.

-Erik

--
Orbeon - XForms Everywhere:
http://www.orbeon.com/blog/




--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws