Witam, od jakiegoś czasu walczę z walidacją oraz ze swoją niewiedzą. Muszę zrobić validację wprowadzonego peselu. Skorzystałem z gotowych kodów które sprawdzają sumę kontrolną i to działa bez zarzutów lecz nie wiem jak sprawdzić czy wprowadzony pesel jest zgodny z datą urodzenia która jest w maskedtextbox'ie w formacie rrrr-mm-dd
Private Sub MaskedTextBox3_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MaskedTextBox3.Validating
Dim pesel As String, peselwektor(11) As Char, wektor(10) As Integer, i As Integer, suma As Integer, liczbakontrolna As Integer
wektor = {1, 3, 7, 9, 1, 3, 7, 9, 1, 3}
pesel = MaskedTextBox3.Text
peselwektor = pesel.ToCharArray
i = 0
If pesel.Length = 11 And IsNumeric(pesel) Then
Do While i < 10
suma = suma + (Val(peselwektor(i)) * wektor(i))
i = i + 1
Loop
liczbakontrolna = 10 - (suma Mod 10)
If liczbakontrolna = Val(peselwektor(10)) Then
MsgBox("Pesel poprawny!", MsgBoxStyle.Information, "Potwierdzenie")
Else
MsgBox("Niepoprawny numer pesel!", MsgBoxStyle.Critical, "Błąd!")
MaskedTextBox3.Text = ""
End If
ElseIf pesel.Length <= 10 Then
MsgBox("Pesel za krótki", MsgBoxStyle.Critical, "Błąd")
MaskedTextBox3.Text = ""
Else
MsgBox("Nieprawidłowe znaki w numerze pesel", MsgBoxStyle.Critical, "Błąd")
MaskedTextBox3.Text = ""
End If
End Sub