If you dont see any useful purpose in a component that implements IExtenderProvider as a validation tool, then why are you using one in your data binding example?
I'm not using any IExtenderProviders that do validation.
Where did you get that idea from?
ErrorProvider is an IExtenderProvider, but it does not do
any kind of validation.
You seem to have misunderstood what I typed, so let me be
more specific:
I don't see any useful purpose to using IExtenderProvider to
do what your example does. If you do things the correct way,
via the mechanisms provided by the framework, rather than
take a 'roll-your-own' approach, then point in fact is that the
example you show serves no purpose, because the information
that it associates with each control is already inferred by the
type of the property which the control is bound to.
If I databind a control to a property whose type is an integer,
the framework knows that the input must be convertable to an
integer, and it will do the conversion for me, and raise the error
that occurs if the contents of the text box is not convertable
to an integer. So, given that the framework does all of that for
me when I do things the right way (data binding), why do I need
to associate another 'extended property' with a control that does
nothing other than indicate that the control requires an integer?
In the case of using data binding to an integer property of an
object, the framework already knows the control requires an
integer, because that is the type of the property the control
is bound to. Additional data validation is done by the setter of
the bound property, because in most cases, that validation is
something that applies not only to user-input, but also to any
value the property is set to, via any means, including consumer
code.
In reality data binding has absolutely nothing to do with Form
validation...
That's simply not true.
I don't see how anyone can make a statement like that, given
that the data binding sample that I posted the link to contains
no code that performs the basic validation required in order to
convert the user-supplied text to the required data type (ints
and doubles). That is (the most basic) form of 'validation'.
Your example IExtenderProvider is absurd, because you still
have to do the basic validation/conversion yourself in code,
rather than allowing the framework to do it for you, as it
does when using data binding.
At this point I have to bow out of this conversation, because
it's beginning to resemble a dead horse-beating contest.