Foros del Web » Programando para Internet » Jquery »

problema con validacion con jquery

Estas en el tema de problema con validacion con jquery en el foro de Jquery en Foros del Web. buenas compañeros tengo un problema que me lleva casi todo el dia estoi tratando de validar un formulario que envio por jquery $.ajax el problema ...
  #1 (permalink)  
Antiguo 01/06/2010, 22:09
Avatar de leo_rock  
Fecha de Ingreso: abril-2010
Mensajes: 28
Antigüedad: 14 años, 8 meses
Puntos: 0
problema con validacion con jquery

buenas compañeros tengo un problema que me lleva casi todo el dia
estoi tratando de validar un formulario que envio por jquery $.ajax
el problema es que se salta la validacion e visto algo del evento preventDefault
para que antes de enviar el formulario me validara y despues de validar enviara la funcion del ajax pero no logro consevir como usarlo si algien me puede echar una mano lo agradaceria estoi usando jquery.validate
  #2 (permalink)  
Antiguo 02/06/2010, 07:49
 
Fecha de Ingreso: enero-2008
Ubicación: Buenos Aires
Mensajes: 305
Antigüedad: 16 años, 11 meses
Puntos: 14
Respuesta: problema con validacion con jquery

Mira los eventos de Ajax

O sino fijate en las opciones de $.ajax, el parametro BeforeSend !
  #3 (permalink)  
Antiguo 02/06/2010, 12:38
Avatar de leo_rock  
Fecha de Ingreso: abril-2010
Mensajes: 28
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: problema con validacion con jquery

ocupe la funcion de ajax beforeSend pero no funciona.
Código PHP:
        $.ajax({
            
url'nuevo-emp.php',
            
beforeSend:function(){$('#frm_add_emp').validate()},
            
type"POST",
            
data"submit=&rut="+rut+"&nombre="+nombre+"&apellido="+apellido+"&tipo="+tipo+"&emp="+emp+"&mail="+mail+"&call="+call+"&num="+num+"&ciudad="+ciudad+"&comuna="+comuna+"&tele="+tele+"&supe="+supe,
            
success: function(datos){
                $(
"#madre").html(datos);
            }
        });
        return 
false
pruebo con eso pero tampoko peska la validacion
  #4 (permalink)  
Antiguo 02/06/2010, 14:53
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 9 meses
Puntos: 101
Respuesta: problema con validacion con jquery

Tendrías que ver si la validacion te devuelve true false. Si es así, aprovechalo para darle lugar al envio de formulario...
  #5 (permalink)  
Antiguo 02/06/2010, 22:22
Avatar de leo_rock  
Fecha de Ingreso: abril-2010
Mensajes: 28
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: problema con validacion con jquery

xD eso es lo que no se como se hace
u.u en que parte debo poner un if o algo asi no se como devuelve el parametro el validate()
  #6 (permalink)  
Antiguo 03/06/2010, 08:50
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 9 meses
Puntos: 101
Respuesta: problema con validacion con jquery

Tenes un enlace a la pagina del autor de tu validate()? ASi lo buscamos.
  #7 (permalink)  
Antiguo 03/06/2010, 09:10
Avatar de leo_rock  
Fecha de Ingreso: abril-2010
Mensajes: 28
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: problema con validacion con jquery

desde aki descarge el pluning
[URL="http://bassistance.de/jquery-plugins/jquery-plugin-validation/"]http://bassistance.de/jquery-plugins/jquery-plugin-validation/[/URL]

y aqui hay documentacion pero no e encontrado ninguna manera

[URL="http://docs.jquery.com/Plugins/Validation"]http://docs.jquery.com/Plugins/Validation[/URL]

Mayid de ante mano gracias siempre respondes las inquietudes, gracias por eso
  #8 (permalink)  
Antiguo 03/06/2010, 12:18
 
Fecha de Ingreso: enero-2008
Ubicación: Buenos Aires
Mensajes: 305
Antigüedad: 16 años, 11 meses
Puntos: 14
Respuesta: problema con validacion con jquery

Código Javascript:
Ver original
  1. $.ajax({
  2.             url: 'nuevo-emp.php',
  3.             beforeSend:function(){ alert( $('#frm_add_emp').validate() ); },
  4.             type: "POST",
  5.             data: "submit=&rut="+rut+"&nombre="+nombre+"&apellido="+apellido+"&tipo="+tipo+"&emp="+emp+"&mail="+mail+"&call="+call+"&num="+num+"&ciudad="+ciudad+"&comuna="+comuna+"&tele="+tele+"&supe="+supe,
  6.             success: function(datos){
  7.                 $("#madre").html(datos);
  8.             }
  9.         });
  10.         return false;

Probá así y fijate la respuesta que obtenes del validate() para el caso que tendría que dar true(1) y para el caso que tendría que ser false(2).

y si es así, solo tendrías que hacer un if de la respuesta. Algo así:

Código Javascript:
Ver original
  1. $.ajax({
  2.             url: 'nuevo-emp.php',
  3.             beforeSend:function(){
  4.                  if(!$('#frm_add_emp').validate()) { return false; }
  5.                },
  6.             type: "POST",
  7.             data: "submit=&rut="+rut+"&nombre="+nombre+"&apellido="+apellido+"&tipo="+tipo+"&emp="+emp+"&mail="+mail+"&call="+call+"&num="+num+"&ciudad="+ciudad+"&comuna="+comuna+"&tele="+tele+"&supe="+supe,
  8.             success: function(datos){
  9.                 $("#madre").html(datos);
  10.             }
  11.         });
  12.         return false;

Solo le haría un return false, porque el validate se encarga de mostrar los errores según veo.
  #9 (permalink)  
Antiguo 03/06/2010, 12:22
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 9 meses
Puntos: 101
Respuesta: problema con validacion con jquery

Aca esta:
Cita:
$("#myform").validate({

submitHandler: function(form) {


$.ajax({
url: 'nuevo-emp.php',
beforeSend:function(){$('#frm_add_emp').validate() },
type: "POST",
data: "submit=&rut="+rut+"&nombre="+nombre+"&apellido="+ apellido+"&tipo="+tipo+"&emp="+emp+"&mail="+mail+" &call="+call+"&num="+num+"&ciudad="+ciudad+"&comun a="+comuna+"&tele="+tele+"&supe="+supe,
success: function(datos){
$("#madre").html(datos);
}

});



}

})
La clave es submitHandler.
  #10 (permalink)  
Antiguo 03/06/2010, 14:02
Avatar de leo_rock  
Fecha de Ingreso: abril-2010
Mensajes: 28
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: problema con validacion con jquery

lo deje asi

Código PHP:
$("#frm_add_emp").validate({    
   
   
submitHandler: function(form) {
       
      $.
ajax({
        
url'nuevo-emp.php',
        
type"POST",
        
data"submit=&rut="+$("#add_rut").val()+"&nombre="+$("#add_nombre").val()+"&apellido="+$("#add_apel").val()+"&tipo="+$("#add_tipo").val()+"&emp="+$("#add_emp").val()+"&mail="+$("#add_mail").val()+"&call="+$("#add_call").val()+"&num="+$("#add_num").val()+"&ciudad="+$("#add_ciu").val()+"&comuna="+$("#add_com").val()+"&tele="+$("#add_tel").val()+"&supe="+$("#add_super").val(),
            
success: function(datos){
                $(
"#madre").html(datos);
            }
        });
   }
}); 
pero ahora no hay respuesta, valida pero no sucede nada.
  #11 (permalink)  
Antiguo 03/06/2010, 17:34
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 9 meses
Puntos: 101
Respuesta: problema con validacion con jquery

Se me ocurren tres cosas:

1.- que lo uses en combinacion con AjaxForm:
http://www.malsup.com/jquery/form/#validation

2.- que intentes esto:
if ($("#myform").validate().form() == true){
// procesar
}


3.- Encontrar la manera de que tu llamada a $.ajax esté ligada al formulario. Así como lo planteamos estan desligados (usualmente se ligan con el evento click).
  #12 (permalink)  
Antiguo 03/06/2010, 17:37
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 9 meses
Puntos: 101
Respuesta: problema con validacion con jquery

Creo que lo que dijo kokoou también debería funcionar. Aunque yo lo plantearía así:

Cita:
beforeSend:function(){
if(!$("#myform").validate().form()) { return false; }
},
  #13 (permalink)  
Antiguo 04/06/2010, 15:42
Avatar de leo_rock  
Fecha de Ingreso: abril-2010
Mensajes: 28
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: problema con validacion con jquery

me arte de probar de todas las formas que se me pudo ocurrir
y depues de hacer hartas pruebas me di cuenta que el
Código PHP:
$('#myform').validate().form() 
no devuelve true ni false, aunke asi sale en la documentacion del jquery, lo que me devuelve un boolean era por ejemplo
Código PHP:
$('#add_rut').valid() 
asi que lo que ise aunke no creo que sea lo optimo es
Código PHP:
if($('#add_rut').valid()==true || $('#add_nombres').valid()==true || $('#add_apel').valid()==true || $('#add_cui').valid()==true || $('#add_com').valid()==true || $('#add_num').valid()==true || $('#add_call').valid()==true || $('#add_mail').valid()==true){
// aka el ajax 
bueno eso no si hay alguna forma de simplificar el if aunke esta medio karretero por lo menos funciona y puedo enviar y utilizar todas las funciones del $.ajax ya validado
  #14 (permalink)  
Antiguo 05/06/2010, 14:55
Avatar de leo_rock  
Fecha de Ingreso: abril-2010
Mensajes: 28
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: problema con validacion con jquery

hay me funciono bn
Código PHP:
$('#env').bind('click',function(event){
    if($(
'#frm_add_emp').valid()==false){
    return 
false;
    }else{
    return 
true;
    }
  }); 
y la llamada a la funcion ajax la ago en el <form onsubmit="Funcion(); return false">

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 10:51.