Let's say we have a input secret component in a view.
To this component we have associated a custom validator and a value
On postback request without having anything submitted as a value, we
have the VCL executed but not the validator.
Actually in UIInput a custom validator is only invoked when the newValue
is not empty.
Again we have a VCE queued because the compareValues returns true when
the previous value is "" and new is null.
From spec point of view if we have a VCE queued than we could expect
that the validatior is also invoked.
Now this situation has another aspect.
From UIInput component point of view when we have a value transition
from null to "" that should be enough for firing VCE AND invoking a
validator. UIInput is a generic protocol independent component and it
seems logical to have this behavior there.
From html, http perspective however we don't have the same notion. The
semantics of "" and null is the same. And that leads to the
inconsistency of having VCL invoked but not a validator.