Merhaba arkadaşlar,
Bu yazımızda Form kontrollerimizde sıkça kullandığımız “Jquery Validate” eklentisinde özel kriter oluşturmaktan bahsedeceğiz. Ben bu örneğimizde bir kullanıcı kayıt formunda, kullanıcı adının kullanımda olup olmadığını kontrol etmeyi tercih ettim.
Öncelikle Validate eklentisinin “addMethod” yönetimini kullanarak, ziyaretçinin girmiş olduğu kullanıcı adının sistemimizde kayıtlı olup olmadığını kontrol edecek fonksiyonumuzu yaratıyoruz. Ajax post yönetimi ile kullanıcıdan aldığımız “username” verisini “checkUsername.php” dosyamıza gönderiyoruz.
<?php $output = 'true'; $username = mysql_real_escape_string($_POST['username']); $result = mysql_query("SELECT * FROM tblMembers WHERE Username='$username'"); while ($row = mysql_fetch_array($result)) { $output = 'false'; } echo $output;
Validate kodumuza ise “checkUsername: true” parametresini ekliyoruz.
$(document).ready(function(){ var response; $.validator.addMethod( "checkUsername", function(value, element) { $.ajax({ type: "POST", url: "http://"+location.host+"/checkUsername.php", data: "username="+value, dataType:"html", success: function(msg) { //If username exists, set response to true response = ( msg == 'true' ) ? true : false; } }); return response; }, "Username kullanılıyor" ); $("#userForm").validate({ username: { required: true, checkUsername: true }, messages: { username: { required: "Username boş bırakılamaz", checkUsername: "Bu kullanıcı adı kullanılmaktadır" } } }); });
Görüşmek dileğiyle..