FW: form controls and invalid values

The Last Call XForms spec says, that the form controls do not update invalid values
to the instance.

I would like to question this decision and claim that also invalid values
should be allowed to be updated in the instance. My arguments are the
following:

CONSISTENCY
* invalidity based on constraint 'isValid' is always based on the instance
anyway, so an implementation actually cannot know whether a piece of data is 'isValid' without putting the value in the instance and
running the calculations.
* <setValue>, calculate constraint, and scripts will be able to put invalid
values in the instance
* Keeping some information in the UI control rather than in the instance
breaks our data/UI separation. That can confuse 2 operations hard:
a)multiple controls binding to the same node b) saving the current state of
the form.

ERROR MESSAGES
* if the invalid value was put in the instance, it would be possible to create
error messages using that value. Currently the invalid value is not accessible throught the instance.

FEASIBILITY
* some implementations are using external schema validator, that allows only
revalidating the whole/parts of the instance.

PROPOSED SPEC CHANGE:
--------------------
- remove valueChanging event
- if support for single character updates in a single <input> control are required,
  add an attribute 'update' to <input>, and update the instance for every character.

Received on Friday, 22 February 2002 04:35:40 UTC