Private Function ValidateTextboxes(ByVal container As Control) As Boolean
For Each ctl As Control In container.Controls
Dim textBox = TryCast(ctl, TextBox)
If textBox IsNot Nothing Then
If textBox.Text.ToString.Trim().Length <> 0 AndAlso Not Regex.IsMatch(textBox.Text, "^[a-zA-Z'.\s\d+]{1,40}$") Then
Dim cs As ClientScriptManager = Me.ClientScript
cs.RegisterClientScriptBlock(Me.GetType(), "ValidateFile", "alert('Invalid input, please try again!');", True)
textBox.Focus()
Return False
End If
End If
If ctl.Controls.Count > 0 Then
ValidateTextboxes(ctl)
End If
Next
Return True
End Function
References:
Recursion method to clear TextBoxes in nested Container Controls