jQuery Validar el uso del método remoto para verificar si el nombre de usuario ya existe
Quiero validar si el nombre de usuario existe en la base de datos usando jQuery.validate, así que esto es lo que tengo hasta ahora:
jQuery:
$("#signupForm").validate({
rules: {
username: {
required: true,
minlength: 3,
remote: "check-username.php"
}
},
messages: {
username:{
remote: "This username is already taken! Try another."
}
}
});
comprobar-nombre de usuario.php:
<?php
require_once "./source/includes/data.php";
header('Content-type: application/json');
$name = mysql_real_escape_string($_POST['username']);
$check_for_username = mysql_query("SELECT username FROM mmh_user_info WHERE username='$name'");
if (mysql_num_rows($check_for_username) > 0) {
$output = true;
} else {
$output = false;
}
echo json_encode($output);
?>
Este código siempre muestra un error de que se toma el nombre de usuario incluso si no lo es.
Estoy usando jQuery Mobile 1.9.1
Gracias de antemano.
Logré que esto funcione cambiando la técnica de PHP que estaba usando, aquí está mi PHP:
<?php
require_once "./source/includes/data.php";
header('Content-type: application/json');
$request = $_REQUEST['username'];
$query = mysql_query("SELECT * FROM mmh_user_info WHERE username ='$username'");
$result = mysql_num_rows($query);
if ($result == 0){
$valid = 'true';}
else{
$valid = 'false';
}
echo $valid;
?>
Gracias a todos aquí por su ayuda :)
Tengo dos recursos para mirar.
Ejemplo oficial del complemento de validación: http://jquery.bassistance.de/validate/demo/milk/
Solución del foro jQuery: http://forum.jquery.com/topic/jquery-validation-plugin-remote-validation-problem-locks-up
La posible solución es que, hasta donde yo sé, no es necesario codificar la respuesta en json. Dado que json necesita pares clave-valor, proporcionar solo el valor no funcionará. Así que intenta simplemente repetirlo como cadenas "verdaderas" o "falsas".
En segundo lugar, la validación utiliza GET para el método de envío del formulario, no POST.
NOTA: RECIÉN ENCONTRADO UNA POSIBLE SOLUCIÓN PREGUNTA Validación remota de jQuery