GetValidationSummary - Builds a validation summary for all the controls inside a container
' Return a validation summary string with all the error messages, if any,
' of the controls inside the specified container,
' associated to an ErrorProvider control
'
' Example:
' Dim summary As String = ""
' ' display the validation summary for all the controls on the form
' summary = GetValidationSummary(Me, ErrorProvider1)
' If summary.Length > 0 Then
' MessageBox.Show(summary, "ERRORS", MessageBoxButtons.OK,
' MessageBoxIcon.Error)
' End If
' ' display the validation summary for all the controls inside a GroupBox
' summary = GetValidationSummary(GroupBox1, ErrorProvider1)
' If summary.Length > 0 Then
' MessageBox.Show(summary, "ERRORS", MessageBoxButtons.OK,
' MessageBoxIcon.Error)
' End If
Function GetValidationSummary(ByVal container As Control, _
ByVal errorProv As ErrorProvider) As String
Return GetValidationSummary(container, errorProv, " - ")
End Function
Function GetValidationSummary(ByVal container As Control, _
ByVal errorProv As ErrorProvider, ByVal prefix As String) As String
Dim summary As New System.Text.StringBuilder
Dim ctl As Control
' for each control in the container (and its sub controls)...
For Each ctl In GetAllControls(container)
' check the associated error message
Dim msg As String = errorProv.GetError(ctl)
' if the error message is not null, add it to the summary
If msg.Length > 0 Then
If summary.Length > 0 Then
summary.Append(Environment.NewLine)
End If
summary.Append(prefix)
summary.Append(msg)
End If
Next
Return summary.ToString()
End Function