ASP.NET'in kendi içinde bulunan RequiredFieldValidator,RegularExpressionValidator,vs. gibi doğrulama bileşenleri ile kullanıcı tarafında doğrulama işlemleri oldukça kolaydır.Ama kullanıcıya doğrulama sonucunu göstermek ,günümüzde biraz demode kaldı.Ya ValidationSummary kullanıp, yada tarayıcıda uyarı vermekten fazla birşey sunmuyor ASP.NET.
Oysa şimdi jQuery ile bir çok atraksiyonlu işler yapmak çok kolay.Geçenlerde otururken aklıma geldi.Hemen ASP.NET'in doğrulama script kodlarını inceledim.Orada gözüme çarpan "ValidatorUpdateDisplay" fonksiyonu ile kendi gösterim metodumuzu yapabileceğimizi farkettim.
window.jQuery(function(){
//sayfa yüklenmesi tamamlandıktan sonra
//ValidatorUpdateDisplay fonksiyonu varsa kendimizinki ile
//değiştirelim
if (typeof (window.ValidatorUpdateDisplay) == 'function') {//
window._ValidatorUpdateDisplay = window.ValidatorUpdateDisplay;
//orjinal fonksiyonu koruyalım
window.ValidatorUpdateDisplay = ValidatorUpdateDisplay2;
//orjinal fonksiyon
//yerine kendi fonksiyonumuzu referans edelim
});
function ValidatorUpdateDisplay2(val) {//kendi ValidatorUpdateDisplay fonksiyonumuz
//val ile referans edilen
//RequiredFieldValidator,RegularExpressionValidator,vb
//bileşenlerine ait DOM nesnesi
var goOn = false;
try {
var refDom=null;//hangi bileşeni doğorrulayacağız
if (typeof (val.controltovalidate) == 'string')
refDom = $get(val.controltovalidate);
else
refDom = val.controltovalidate;
if (refDom)
refDom = window.jQuery(refDom);
if (!refDom)
refDom = window.jQuery(val);
if (refDom) {
//refDom genellikle
//input,select gibi bir bileşenin jQuery halidir
//Bazı validatorların controltovalidateleri olmuyor
//(bu durumda jQuery ise Validator nesnesi)
//jQuery ile fade In yapalım:)
refDom.fadeOut(0).fadeIn(1000);
//....başka türlü atraksiyonlarda yapılabilir
}
else
goOn = true;
} catch (e) { goOn = true; alert(e.message); }
if (goOn) _ValidatorUpdateDisplay(val);
//hata,veya benzeri durumda orjinal fonksiyonu çağıralım
}