jquery validate remote (plugin)

L

Estimados compañeros:

Edit: Esta solución es correcta, dejo al final lo único de html que se debería incluir:

Estoy utilizando este plugin que sirve para facilitar el tema de las validaciones. Todo funciona correctamente pero la validación remote que sirve para en tiempo real comprobar si un usuario existe o no. No funciona ni para atras. He estado mirando por internet y parece que es un tema recurrente pero de las respuestas que han dado no he encontrado la buena para mi caso y sigue sin funcionar. Lo que quiero conseguir es lo mismo que tiene mv cuando se registra un nuevo usuario. En el sentido de que por medio de ajax comprueba si el usuario existe en la BBDD o no. Os dejo el script por si alguien ve algun error o encuentra la solución:

   $("#form1").validate({
		
    // Specify the validation rules
    rules: {
        username:{ 
				required:true,
				minlength:2,
				maxlenght:30,
				remote: 'validate.php'
		},
        
        email: {
            required: true,
            email: true
        },
        password1: {
            
            minlength: 5
        },
		
		password2 : {
                minlength : 5,
                equalTo : "#password1"
            }
        
    },
    // Specify the validation error messages
    messages: {
        username: {
			required: "Introduce un nombre de contacto",
			minlenght: "El nombre de contacto debe tener al menos 2 caracteres",
			maxlenght: "El nombre de contacto  no puede superar 30 caracteres",
			remote: "El usuario ya existe"
			
		
		},
        
        password1: {
            
            minlength: "Introduzca una contraseña correcta"
        },
			
		password2: {
            
            minlength: "Introduzca una contraseña correcta",
			equalTo: "Las dos contraseñas deben ser iguales"
        },
		
		
        email:{
		required:"Escribe un email válido por favor",
		email: "Escribe un email válido por favor"
		
		
		}
       
    },
	
	
	errorPlacement: function (error, element) {
        error.insertAfter(element).position({
            my: 'right top',
            at: 'right top',
            of: element
        });
		
		
		
		
    },   
    
    submitHandler: function(form) {
        form.submit();
    }	
});

  });
	

</script>

Aqui os dejo el php que utilizo para consultar la BBDD:

<?php
error_reporting(-1);
ini_set('display_errors', 'On');

$username = $_GET["username"];

$dbserver = '';
$dbuser = '';
$dbpasswd =  '';
$dbname = '';
$tablename = 'Usuarios_temp';

if(!mysql_connect($dbserver,$dbuser, $dbpasswd))
{
    echo "error: ".mysql_error();
    exit;
}
if(!mysql_select_db($dbname))
{
    echo "error: ".mysql_error();
    exit;
}

$username = mysql_real_escape_string( $username );

$result = mysql_query("SELECT usuariotemp FROM $tablename WHERE usuariotemp = '$username'");

if(!$result)
{
    echo "error: ".mysql_error();
    exit;
}

if(mysql_num_rows($result) == 0)
{
    echo 'true';//email is unique. not signed up before
}
else
{
    echo 'false';
}
  
?>

Html

div class="errorcontainer"><input class="text" name="username" id="username" remote="validate.php" type="text" tabindex="1" /></div>

A ver, si alguien con experiencia puede dar una solución porque la verdad somos muchos los que tenemos problemas con este asunto y en la documentación del plugin no responde claramente sobre este problema.

O

Te recomiendo que aprendas a "debugar" tanto en javascript como php.
Encontrarías el error rápidamente o intuirías por donde van los tiros.

Un saludo

N1Tr0s

#1 a lo mejor soy yo que estoy tonto, pero el js que has puesto sirve para poco de cara a darte solución. ¿Donde esta la llamada AJAX?
De todas formas te recomiendo hacerlo tu "artesanalmente". Es bastante facil y rápido.

1 respuesta
L

#3 Joder, muchas gracias, madre mía me tengo que ir a por café porque menuda empanada tengo.

Mira que me gusta programar pero hay veces que cometo unas cagadas tan gordas que me hace pensar si realmente me debería dedicar a esto xD

Usuarios habituales