I've a winforms with some controls and an ErrorProvider. The control's Validating events are used to validate the data and report the error to the ErrorProvider if there is any. This work great when the user enter wrong informations into the control and leaves the control.
However, the validation does not happen if the user click on on without entering any data. Is there any way to force the validation of all controls when the user click on OK? And in the case where some validation failed, how would I know and cancel the OK event?
You can use Form.ValidateChildren to force the validation of all the controls on the form, as long as they support validation. Note that any control with CausesValidation set to False will not raise a Validating event and will therefore not be validated by ValidateChildren.
You may also use Validate
or ValidateChildren
of any ancestor ContainerControl
, where Validate
should perform best.
Note that Form
is a ContainerControl
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With