Ensuring that users fill out a form correctly is crucial for the functionality of my website. To achieve this, I have implemented JavaScript controls in the click event of my submit button. The form contains numerous asp.net controls and includes a security code field. I have created a web method to handle these validations smoothly. However, I encountered an issue where the "return false" code no longer works if a user enters the security code incorrectly, leading to a page postback. Below are the JavaScript codes I am using:
function checkFacebookRegister() {
var error = "";
var username = $('#<%=tbUsername.ClientID%>').val();
pattern = new RegExp(/^[0-9a-zA-Z-_]*$/);
if (username.length >= 4 && pattern.test(username)) {
jQuery.ajax({
method: 'GET',
url: 'ajax/checkUsername.aspx',
data: "username=" + username
}).done(function (data) {
if (data != "true") {
error = "Seçtiğiniz kullanıcı adı uygun değil.";
$('#errorDivision').show(1);
$('#error').html(error);
return false;
}
});
} else {
error = "Seçtiğiniz kullanıcı adı minimum 4 karakter olmalı, Türkçe karakter bulunmayan ve noktalama işaretlerinden sadece alt tire içerecek şekilde olmalıdır.";
$('#errorDivision').show(1);
$('#error').html(error);
return false;
}
var faculty = $('#<%=ddlFaculty.ClientID%>').val();
if (faculty == "0") {
error = "Şehir, Üniversite ve Fakülte bilgileri eksiksiz girilmelidir.";
$('#errorDivision').show(1);
$('#error').html(error);
return false;
}
var password = $('#<%=tbPassword.ClientID%>').val();
var passwordConf = $('#<%=tbPasswordConf.ClientID%>').val();
if (password.length < 6) {
error = "Seçtiğiniz parola en az 6 karakter olmalıdır.";
$('#errorDivision').show(1);
$('#error').html(error);
return false;
} else if (password != passwordConf) {
error = "Parolanız tekrarıyla uyuşmamaktadır.";
$('#errorDivision').show(1);
$('#error').html(error);
return false;
}
var securityCode = $('#<%=tbSecurityCode.ClientID%>').val();
**PageMethods.checkSecurityCode(securityCode, checkSecurityCallBackSuccess, checkSecurityCallBackFailed);**
if (!$('#<%=cbUserAgreement.ClientID%>').is(':checked')) {
error = "Üyelik Sözleşmesi' ni onaylamanız gerekmektedir.";
$('#errorDivision').show(1);
$('#error').html(error);
return false;
}
}
function checkSecurityCallBackSuccess(response)
{
if (response == false)
{
error = "Güvenlik kodubu yanlış girdiniz.";
$('#errorDivision').show(1);
$('#error').html(error);
return false;
}
}
function checkSecurityCallBackFailed(error) {
alert(error);
error = "Belirlenemeyen bir hata oluştu.";
$('#errorDivision').show(1);
$('#error').html(error);
return false;
}