Compare Validator, veri girişi yapılabilen Asp.Net kontrollerinin değerlerini karşılaştıran bir geçerlilik kontrolüdür. Tanımı bu şekilde verdik ama bu kontrol ile birçok geçerlilik işlemi yapılabilir. Örneğin date formatında tarih tipli bir değişken girilmesi gereken alanlar kontrol edilebilir ya da sabit bir veri referans alınarak buna bağlı girdiler geçerli kılınabilir.
CompareValidator’un çalışmasını örnekler üzerinden resimlerle anlatalım. Örneğimiz bir kayıt formundaki şifrelerin birbiriyle aynı olup olmadığını kontrol eden bir uygulama üzerine olsun. Formumuzu aşağıdaki gibi tasarlayalım.
Şimdi CompareValidatoru şifre alanlarından birinin yanına ekliyoruz. Formu tasarlarken şifre alanlarının TextMode özelliğini Password yaparsanız şifreler * şeklinde görünür. Kullanıcı şifrelerin bir biriyle aynı olup olmadığını göremediği için bu denetleme işlemini biz comparevalidator ile gerçekleştireceğiz.
Örneğimizi çalıştırmadan önce bu kontrolün kullanacağımız ayarlarına bir göz atalım.
ControlToValidate: Karşılaştırılacak olan birinci form elemanını belirler.
ControlToCompare: Karşılaştırılacak olan ikinci form elemanını belirler.
ErrorMessage: Karşılaştırma sonucu eşleşme sağlanamazsa verilecek hata mesajı.
Type: Karşılaştırılacak olan değer tipi burada belirlenir. String, Integer, Double, Date, Currency değerlerinden biri seçilir.
Operator: Karşılaştırma işleminin hangi kritere göre yapılacağı belirlenir. Eşitlik karşılaştırılacaksa Equal seçilir. Diğer seçilebilecek değerler NotEqual, GreaterThan, GreaterThanEqual, LessThan, LessThanEqual ve DataTypeCheck’ tir.
ValueToCompare: Sabit bir değer ile karşılaştırma yapılacaksa değer bu alana girilir.
Bu özelliklerden bizim örneğimiz için gerekli olanları aşağıdaki gibi dolduruyoruz.
Örneğimizde kullanıcının girdiği şifreler birbiriyle eşleşmezse aşağıdaki gibi bir hata mesajı görüntülenecek.
Yukarıdaki uygulama comparevalidator’un en yaygın kullanımına yönelik bir örnek oldu. Sizde bu validator ile kullanıcının girdiği doğum tarihinin date türünde olup olmadığını denetleyecek şekilde uygulamayı geliştrirebilirsiniz. Konuyla ilgili sorularınızı bana yazabilirsiniz. Kolay gelsin…