Public Class clsValidatie

    Public Shared Function checkValidString(ByVal sString As String) As Boolean

        If Not checkValidChar(sString) Then
            MsgBox(sString & " is geen geldige ingave." & vbCrLf & vbCrLf & "Gelieve enkel cijfers en letters in te voeren.", MsgBoxStyle.OKOnly, "Ongeldige invoergegevens.")
        Else
            Return True
        End If

    End Function

    Private Shared Function checkValidChar(ByVal sString As String) As Boolean
        Dim i As Integer
        Dim bB As Boolean
        i = 0

        'indien het over lege string gaat, wordt de gebruiker gewaarschuwd
        If sString.Length = 0 Then
            MsgBox("U hebt niets ingevoerd." & vbCrLf & vbCrLf & "Gelieve iets in te voeren.", MsgBoxStyle.OKOnly, "Ongeldige invoergegevens.")
            Return False

        Else

            'dit stuk controleert voor elke character van de gegeven string of het een letter,spatie of cijfer is
            'moment dat er 1 invalid char bij zit wordt false teruggegeven
            'indien alle chars goed zijn raakt functie tot op eind en geeft hij true

            If Not (Char.IsLetterOrDigit(sString, i) Or Char.IsWhiteSpace(sString, i)) Then
                Return False
            Else
                bB = True
            End If


            Do Until i = sString.Length - 1
                i += 1
                If Not (Char.IsLetterOrDigit(sString, i) Or Char.IsWhiteSpace(sString, i)) Then
                    Return False
                Else
                    bB = True
                End If

            Loop

        End If

        Return bB
    End Function


End Class
