08 December 2016

TC Kimlik Doğrulama ASP.Net

Bir adet yeni ASP.Net Empty Web Application açalım ve Yeni bir Web Form ekleyelim.

Yer alacak elemanlar:

TextBox
Button (Text’ine Doğrula yazalım)
Custom Validator (Text’ine TC Kimlik No Geçerli Değildir. Forecolor renklendirelim. Kırmızı Olabilir.)

TC Kimlik Numarasının Geçerli Olması İçin Standartlar:

– 11 haneli olmalı
– son hane çift sayıdan oluşmalı
– ilk 10 hanenin toplamının birler basamağı kimlik numarasının son hanesine eşit olmalı

CustomValidator’ın ServerValidate eventine yazalım:

protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
 {
 string KimlikNumarasi = args.Value;
 int KimlikSonHane = Convert.ToInt32(KimlikNumarasi.Substring(10));
//TC Kimlik No uzunluğunu kontrol edelim
if (KimlikNumarasi.Length!=11)
 {
 args.IsValid = false;
 return;
 }
//TC Kİmlik no son hanenin çift olup olmadığını kontrol edelim
 if (KimlikSonHane%2==1)
 {
 args.IsValid = false;
 return;
 }
//İlk 10 hane toplamını alalım
string OnHane = KimlikNumarasi.Substring(0, 10);
 int toplam = 0;
 foreach (char c in OnHane)
 {
 toplam += Convert.ToInt32(c.ToString());
 }
//10 sane toplamını kontrol edelim
if (toplam%10==KimlikSonHane)
 {
 args.IsValid = true;
 }
 else
 {
 args.IsValid = false;
 }
 }

 

Comments

  1. Kod çalışmıyor, Kontrolleri yapmıyor.