[whatwg] Comments on Web Forms 2.0 Working Draft

Christian Schmidt whatwg.org at chsc.dk
Wed Jun 23 13:32:43 PDT 2004

>>The custom validation could be done in onchange or oninput, but that may
>>turn out to be too often or too rare.
Doing it on onchange will be to rare. If there is a CSS rule for 
:invalid, this rule should be applied as soon as the value of the 
control becomes invalid and not wait for the onchange event to be 
triggered (right?).

Doing it on oninput may turn out to be too often. Assume that I have a 
validation function that takes, say, 0.2 seconds to compute. If this 
function is called oninput, it has to be computed for each keypress and 
that makes typing slow. The UA may choose to only do the validation once 
in a while, e.g. once every x seconds, so that the :invalid rule is 
still applied, just a little delayed. Or if there are no :invalid rules, 
the UA may choose not to validate until e.g. form.validate() is called 
or control.validity is accessed.

A UA may implement this logic by internally setting a "dirty" bit on the 
control when the oninput event is triggered. Whenever the validity 
property is accessed by script and the dirty bit is on, the onvalidation 
event handler is called and the dirty bit is reset.

Also, onchange and oninput are not triggered by scripted changes to the 
control value. I think that an onvalidation event should be triggered by 
scripted changes, so that control.validity is always in sync with the 
actual validity of the control.


More information about the whatwg mailing list