Since the article above covers that, in this article, assume that Auto Validate for the form is set to Disable so Explict validation will be required. Writeline statements to confirm what is actually happening in the code. The first is to call Validate from the event subroutine handling the event.
It's an old fashioned debugging technique, but it really helps me in this particular case. A call to Validate can be triggered by code elsewhere, but it still doesn't trigger the Validating and Validated events as shown below.--------Click Here to display the illustration--------The second is to call Validate from a container control where the controls that you want validated are child controls.
You can choose from: None - validates all child controls Selectable - validates child controls that can be selected Enabled - validates child controls where Enabled is true Visible - validates child controls where Visible is true Tab Stop - validates child controls that have a Tab Stop value Immediate Children - validates child controls that are directly hosted in the container, but not the children of these children One last warning ...
If, somehow, you have managed to get to the end of this article and you still don't realize that all of these descriptions apply only when Auto Validate is set to Disable for the containing form, please be advised that they do.
What Microsoft calls "implicit" validation is used most often. Write Line("Text Box1 Validated") End Sub Your validation code ...
The first article covers that and the groundwork of validation in general. Write Line("Text Box1 Validating") End Sub Private Sub Text Box1_Validated( By Val sender As Object, By Val e As System. for example, checking to see if a phone number is in the correct format ... In an especially complex situation, you might use both.
Here's Validate Children responding to a button click.--------Click Here to display the illustration--------Validate Children is also more powerful because you can pass a parameter based on the Validation Constraints enumeration that limits which controls will actually trigger an evaluation.
The values can even be combined with a bitwise OR operation which actually results in a logical AND operation between the individual values.
True checks Auto Validate so the events are not triggered. Validate(True) does not validateand Validate(False) does validate(When the Auto Validate property is Disable.)The Validate Children Method For explicit validation, Validate Children does more what I expected Validate to do.
The previous article in this two part series focuses more on validation when Auto Validate is set to something else.