Visual Studio ‘da kullanıcıya bir form doldurtmak istediğimizde karşımıza çıkan,hep girilen bilgilerin doğruluğunu kontrol ettirmek olmuştur. Bu kontrolü Visual Studio Validators ile yapabileceğimiz gibi JavaScript kullanarak da client side ‘da yapmamız mümkün.Şimdiki örneğimizde genel olarak kullanılan İsim(txtName),e-posta(txtemail) ve web url(txtWebURL) adında 3 tane textbox’ımız var bunları kontrol edeceğiz.. Aşağıdaki JavaScript kodunu kullanarak client side’da Gönder butonuna tıklandığında bu üç kontrolüde gerçekleştirebiliriz.
<script language="javascript" type="text/javascript"> function validate() { if (document.getElementById("<%=txtName.ClientID%>").value == "") { alert("İsim Alanı boş bırakılamaz"); document.getElementById("<%=txtName.ClientID%>").focus(); return false; } if (document.getElementById("<%=txtEmail.ClientID %>").value == "") { alert("Email alanı boş bırakılamaz"); document.getElementById("<%=txtEmail.ClientID %>").focus(); return false; } var emailPat = /^(\".*\"|[A-Za-z]\w*)@(\[\d{1,3}(\.\d{1,3}){3}]|[A-Za-z]\w*(\.[A-Za-z]\w*)+)$/; var emailid = document.getElementById("<%=txtEmail.ClientID %>").value; var matchArray = emailid.match(emailPat); if (matchArray == null) { alert("Lütfen email adresinizi kontrol ediniz."); document.getElementById("<%=txtEmail.ClientID %>").focus(); return false; } if (document.getElementById("<%=txtWebURL.ClientID %>").value == "") { alert("URL Alani boş bırakılamaz."); document.getElementById("<%=txtWebURL.ClientID %>").value = "http://" document.getElementById("<%=txtWebURL.ClientID %>").focus(); return false; } var Url = "^[A-Za-z]+://[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%&\?\/.=]+$" var tempURL = document.getElementById("<%=txtWebURL.ClientID%>").value; var matchURL = tempURL.match(Url); if (matchURL == null) { alert("Lütfen URL'i kontrol edin."); document.getElementById("<%=txtWebURL.ClientID %>").focus(); return false; } } </script>
Bu kodu sayfamıza ekledikten sonra yapmamız gereken, butona tıklandığında kodun çalıştırılabilmesi için html tarafında kodu çağırmalı ve Codebehind tarafında ise sayfa yüklenirken yani sayfanın Page_load’ına bu özelliği eklemeliyiz
<asp:Button ID="btnGonder" OnClientClick=" return validate()" runat="server" Text="Gonder" /> protected void Page_Load(object sender, EventArgs e) { btnGonder.Attributes.Add("onclick", "return validate()"); }
.
Bir dahaki yazımızda görüşmek üzere.
Güney Tosun
Güzel makale işime yaradı teşekkürler.