Estoy usando la librería jquery.validate y la verdad es que va muy bien.
Sin embargo, me gustaría comprobar si el nick que está escribiendo el usuario está en la base de datos o no.
Esta parte la tengo, pero solo me muestra el mensaje de excepción "El usuario ya existe" cuando el usuario ya existe. Me gustaría mostrar también un mensaje diciendo "Usuario disponible" cuando este no exista.
Se le puede decir al jquery que muestre ese mensaje?
Ahora mismo tengo lo siguiente:
index.php
Código HTML:
Ver original
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link type="text/css" href="css/estilo.css" rel="stylesheet" /> <script type="text/javascript"> $(document).ready(function(){ $.validator.addMethod("regex",function(value,element,regexp){ var re= new RegExp(regexp); return this.optional(element) || re.test(value); },"Solo caracteres alfanumericos"); $("#registro").validate({ rules:{ usuario:{ required:true, regex:"^[a-zA-Z0-9_]+$", remote:"comprobar.php" }, pass:{ required:true }, pass2:{ equalTo:"#pass" }, email:{ email:true, required:true }, sitioweb:{ url:true }, lenguaje:{ required:true } }, messages:{ usuario:{ required:"Campo obligatorio", remote:"El usuario ya existe" }, pass:{ required:"Campo obligatorio" }, pass2:{ equalTo:"La contraseña no es igual" }, email:{ email:"El email no es valido", required:"Campo es obligatorio" }, sitioweb:{ url:"La url no es valida" }, lenguaje:{ required:"Campo obligatorio" } }, submitHandler:function(){ alert("Los datos han sido enviados"); } }) }) </script> </head> <body> <fieldset> <form id="registro" name="registro" action=""> <div> <input type="text" id="usuario" name="usuario" /> </div> <div> <input type="text" id="pass" name="pass" /> </div> <div> <input type="text" id="pass2" name="pass2" /> </div> <div> <input type="text" id="email" name="email" /> </div> <div> <input type="text" id="sitioweb" name="sitioweb" /> </div> <div> <select id="lenguaje" name="lenguaje"> </select> </div> <input type="submit" value="Registrar" /> </form> </fieldset> </body> </html>
comprobar.php
Código PHP:
Ver original
<?php $formUsuario=$_GET['usuario']; $sql = "SELECT id from users where username='$formUsuario'"; echo "false"; }else{ echo "true"; } ?>
Si el usuario no existe en la base de datos devuelvo un TRUE a la función jquery
usuario:{
required:true,
regex:"^[a-zA-Z0-9_]+$",
remote:"comprobar.php"
},
Pero los mensajes solo he conseguido que salgan cuando recibo un false
¿Se os ocurre alguna forma de lograrlo?
Mil gracias de antemano!