Foros del Web » Programando para Internet » Jquery »

Validacion JQuery

Estas en el tema de Validacion JQuery en el foro de Jquery en Foros del Web. Primero que nada un saludo, mi duda es la siguiente: Tengo este código que realicé yo mismo: Código: $("#login").focusout(loginvalido); function loginvalido(e){ $.ajax({ url:"consulta_login.php", data:{ login: ...
  #1 (permalink)  
Antiguo 06/12/2012, 09:28
 
Fecha de Ingreso: noviembre-2012
Ubicación: Caracas - Venezuela
Mensajes: 116
Antigüedad: 12 años
Puntos: 1
Validacion JQuery

Primero que nada un saludo, mi duda es la siguiente:

Tengo este código que realicé yo mismo:

Código:
	$("#login").focusout(loginvalido);
	function loginvalido(e){
		$.ajax({
					url:"consulta_login.php",
					data:{
					login: $("#login").val(),						
					},
					type:"POST",
					dataType:'json',
					 success: function(datos){ 
					 if(datos.login!=null){
						 $("#existe").show();
						 }
						 else {$("#existe").hide();}
						 
						 
						 
					 }
		});
	}
El código lo que hace es que cuando alguien escribe el login que va a utilizar en el sistema, si este login ya existe se activa una casilla que le indica a la persona que dicho login ya existe, pero soólo le dice al usuario pero él igual puede enviar dicho formulario

¿Cómo puedo hacer para evitar el envio del formulario hasta que el login sea valido?
  #2 (permalink)  
Antiguo 06/12/2012, 09:36
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 8 meses
Puntos: 839
Respuesta: Validacion JQuery

Puedes validar el resultado en el evento submit del formulario, si no pasó esa verificación cancelar el envío:
http://api.jquery.com/submit/
http://api.jquery.com/event.preventDefault/
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 06/12/2012, 09:42
 
Fecha de Ingreso: noviembre-2012
Ubicación: Caracas - Venezuela
Mensajes: 116
Antigüedad: 12 años
Puntos: 1
Respuesta: Validacion JQuery

gracias por la respuesta, pero utilizo jqueryvalidate para validar que no esten vacios los formularios y que sean correctos la escritura del email y campos solo numeros,

Código:
$("#form").validate({
				event: "blur",
				rules: {'ci': "required",
						'nombre': "required",
						'login': "required",
						'password': "required",
						'password2': {equalTo: "#password"},
						'email': "required email",
						
			
				},
			messages: {		
			},
				debug: true,errorElement: "label",
				submitHandler: function(form){
					
					enviardatos();
				}
			});
lo que se me ha ocurrido hasta ahora es utilizar una variable indicador dentro de la funcion que valida el login es decir: si el login es valido declaro un var x=1
y en donde dice submitHandler poner If (var x=1) { enviardatos();}
else { (llamar a una capa que diga "Revisar formulario" }

se puede hacer de esta forma?

Edit: no, no me funciona :(

Última edición por angelsds; 06/12/2012 a las 11:19
  #4 (permalink)  
Antiguo 06/12/2012, 15:06
 
Fecha de Ingreso: noviembre-2012
Ubicación: Caracas - Venezuela
Mensajes: 116
Antigüedad: 12 años
Puntos: 1
Respuesta: Validacion JQuery

Bueno gente les comento que yo mismo resolvi la duda: después de pelear durante horas encontré la siguiente solucion:

Uso el mismo ajax que puse al principio del post y finalmente en el validate hago una pequeña modificación (que me tomó horas descubrir):

Código:
$("#form").validate({
				event: "blur",
				rules: {'ci': "required",
						'nombre': "required",
						'login': {required: true,
								   },
						'password': "required",
						'password2': {equalTo: "#password"},
						'email': "required email",
						
			
				},
			messages: {		
			},
				debug: true,errorElement: "label",
				submitHandler: function(form){
					
					if ($("#existe").css("display")=='none'&&$("#existe2").css("display")=='none'&&$("#existe3").css("display")=='none'){
					enviardatos();
					
					}
					
					else  {$("#revisar").show();}
				
				}
				
			});

el if lo que hace es validar si un div con un id="existe" está oculto o no, ¿por qué? ya que en el $ ajax podrán fijarse que si el login ya existe muestra dicha capa, si el usuario no existe la esconde entonces por medio de ese if compruebo que las capas que dan mensaje de error estran activas o no si estan activas es pq el error existe y no deja mandar


si alguien conoce algo mas optima no duden en comentar

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:41.