Foros del Web » Programando para Internet » Jquery »

problemas con jquery.validate y $.ajax()

Estas en el tema de problemas con jquery.validate y $.ajax() en el foro de Jquery en Foros del Web. hola a todos, quiero validar mi formulario con jquery.validate, y logro validar, o más bien se da cuenta que estan mal los datos, pero igual ...
  #1 (permalink)  
Antiguo 14/02/2011, 06:56
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
problemas con jquery.validate y $.ajax()

hola a todos, quiero validar mi formulario con jquery.validate, y logro validar, o más bien se da cuenta que estan mal los datos, pero igual envia el formulario o será que el $.ajax() se rie de eso y se ejecuta igual, aca va mi codigo, como logro que no lo haga ?

$.validator.setDefaults({
submitHandler: function() { alert("submitted!"); }// esto es una prueba, pero igualme muestra el alert y ejectura la llamada del submit, no deberia de quedarse solamente en el alert?
});

$(document).ready(function() {

$("#form1").validate({
rules:{
usuario: "required",
mail:{ required: true,
email: true
},
texto: "required"
},

messages:{
usuario: {required: "Debe proporcionar un nombre" },
mail: { email: "Revise la direccion de correo" },
usuario: {required: "Debe proporcionar un nombre" }
}
});


$("#form1").submit(function(event){
event.preventDefault();
$.ajax({
url: "nuevo.php",
data: $(this).serialize(),
type: "post",
dataType: "xml",
cache: false,
beforeSend: function(objeto){
$("#cargando").show();
},
complete: function(){
$("#cargando").hide();
},
error: function(){
alert('Error loading XML document');
},
success: function(xml) {
parserXML(xml);
}
});
});
  #2 (permalink)  
Antiguo 19/03/2011, 16:04
 
Fecha de Ingreso: marzo-2011
Ubicación: Cali
Mensajes: 4
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: problemas con jquery.validate y $.ajax()

Cita:
Iniciado por iviamontes Ver Mensaje
hola a todos, quiero validar mi formulario con jquery.validate, y logro validar, o más bien se da cuenta que estan mal los datos, pero igual envia el formulario o será que el $.ajax() se rie de eso y se ejecuta igual, aca va mi codigo, como logro que no lo haga ?

$.validator.setDefaults({
submitHandler: function() { alert("submitted!"); }// esto es una prueba, pero igualme muestra el alert y ejectura la llamada del submit, no deberia de quedarse solamente en el alert?
});

$(document).ready(function() {

$("#form1").validate({
rules:{
usuario: "required",
mail:{ required: true,
email: true
},
texto: "required"
},

messages:{
usuario: {required: "Debe proporcionar un nombre" },
mail: { email: "Revise la direccion de correo" },
usuario: {required: "Debe proporcionar un nombre" }
}
});


$("#form1").submit(function(event){
event.preventDefault();
$.ajax({
url: "nuevo.php",
data: $(this).serialize(),
type: "post",
dataType: "xml",
cache: false,
beforeSend: function(objeto){
$("#cargando").show();
},
complete: function(){
$("#cargando").hide();
},
error: function(){
alert('Error loading XML document');
},
success: function(xml) {
parserXML(xml);
}
});
});
  #3 (permalink)  
Antiguo 19/03/2011, 16:07
 
Fecha de Ingreso: marzo-2011
Ubicación: Cali
Mensajes: 4
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: problemas con jquery.validate y $.ajax()

en las reglas:

rules:{
usuario: "required",
mail:{ required: true,
email: true
},

por ejemplo usuario estaria haciando alución al nombre del control del formulario no al ID, ejemplo :

<input type:'text' name='usuario'/>

se refiere al name del control. mira si ese usuario y mail lo estas refiriendo al nombre o name de los respectivos controles.
  #4 (permalink)  
Antiguo 20/03/2011, 09:52
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: problemas con jquery.validate y $.ajax()

Cita:
$("#form1").submit(function(event){
Estas llamando directamente a la funcion submit; por lo que la validacion del formulario no impide su envio.

Tienes que meter la llamada ajax dentro del paramatro submit handler:

EJ:

Código:
$("#myform").validate({
 submitHandler: function(el_formulario) {

   // la llamada AJAX va aqui! utiliza "el_formulario" para serializar

    return false;
 }
});
  #5 (permalink)  
Antiguo 21/03/2011, 08:57
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: problemas con jquery.validate y $.ajax()

gracias InKarC, al final lo resolví con
$("#form1").submit(function(event){
if ($("#form1").validate().form() == true)

pero me parece más elegante tu solución
  #6 (permalink)  
Antiguo 21/08/2011, 09:39
 
Fecha de Ingreso: julio-2011
Mensajes: 1
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: problemas con jquery.validate y $.ajax()

Funciona la variante de InKar gracias

Etiquetas: ajax
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:02.