Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/04/2013, 12:48
MagoMarlon
 
Fecha de Ingreso: junio-2012
Ubicación: Venezuela
Mensajes: 68
Antigüedad: 12 años, 6 meses
Puntos: 6
Sonrisa Respuesta: Problemas con jquery validation, muestra errores pero no bloquea el submit

ME RESPONDO A MI MISMO :P

Como es una petición ajax lo que se ejecuta en mi formulario y no es un method POST ni un Action normal hay que colocar la funcion ajax dentro de uno de los parámetros del .validate (que tampoco conocía)... esa funcion es

submitHandler: function() {
//aqui va tu peticion ajax
}

Código HTML:
//funcion para abrir el modal de crear motivo
	$('#NuevoMotivo').on('click',function() {	
		//Se abre el modal Agregar
		$( '#Agregar' ).dialog('open');
		//Se realiza la validacion de campos
		$('#FrmAgregarMotivo').validate({			
			//Se declaran las reglas para los name de los formularios
			rules:{
					idA: {required:true,minlength:5},
					descripcionA: {required:true,minlength:5}
				},
			//Se asignan mensajes de error a los name de las reglas de los campos
			messages:{
					idA : {required:"Campo obligatorio",minlength:"mayor a 5"},
					descripcionA : {required:"Campo obligatorio",minlength:"mayor a 5"}
				},
			/*Se asgina una etiqueta html donde 
			se quieran mostrar los errores*/
			errorElement: "div",
			/*Se usa esta funcion para declarar todo lo que se quiera 
			hacer si el formulario esta validado
			En este caso se realiza la funcion ajax para agregar*/
			submitHandler: function() {
				$.ajax({
					type:"post",
					dataType: "json",
					url: "index.php",
					data:{  m_modulo:"motivo",
							m_accion:"agregar", 
							m_vista:"agregado", 
							m_formato:"json", 
							id : $("#IdA").val(),
							descripcion : $("#DescripcionA").val(),
							atribucion : $("#AtribucionA").val(),
							nomina : ($("#NominaA").is(':checked')?1:""),
							finesSemana : ($("#FinesSemanaA").is(':checked')?1:"") 
							},
					success: function(datos, textStatus, jqXHR ){
								//datos = {"resultado":"1"};  
								if (datos==1){
										alert("Motivo Agregado con éxito");
										document.location.href = document.location.href;
									}else{
										alert("Error al Agregado el motivo");
									}
								},
					error: function(datos, textStatus, jqXHR ){  
								alert("error al procesar la petición: " + datos);
								}
				});							                  
            }
		});		
	});
Cómo pueden ver esto es un buen ejemplo para los que quieran hacer validaciones dentro de una ventana bodal de jquery. Y ademas para los que en vez de hacer un submit normal hacen una llamada ajax.

Espero les haya ayudado :)