estoy utilizando el plugin de validacion de jquery llamado jquery.validate.js, pero necesito que, cuando (y solo cuando) se cumplan las condiciones de validacion expuestos en las reglas del plugin, ejecute una peticion ajax (el motivo de la peticion es irrelevante) aqui expongo el codigo:
Código:
Este codigo lo realize guiandome con un ejemplo de google donde hacian la validacion sin el plugin, pero cuando trate de realizarlo en mi caso, no funciono. $(document).ready(function() { function validaform() { $("#formcontacto").validate({ rules: { no_fact: { required: true, digits: true}, generada: { required: true, date: true}, vencimiento: { required: true, date: true}, concepto: { required: true }, descuento: { number: true , maxlength: 5, minlength: 5}, valor: { required: true , number: true }, recibido: { required: true , maxlength: 2, minlength: 2}, fecha: { required: true , date: true} }, messages: { no_fact: "el campo 'No Factura' es obligatorio y debe ser un numero", generada: "el campo 'Generada' es obligatorio y debe ser una fecha elegida en el calendario", vencimiento: "el campo 'Vencimiento' es obligatorio y debe ser una fecha elegida en el calendario", concepto: "el campo 'Concepto' es obligatorio", descuento: "el campo 'Descuento' debe ser un numero decimal y tener max y min 4 caracteres ej: 25.0", valor: "el campo 'Valor' es olbigatorio y debe ser un numero entero o decimal", recibido: "el campo '¿Recibido?' es obligatorio y debe tener como maximo y minimo dos(2) digitos (si/no)", fecha: "el campo 'Fecha de elaboracion' es obligatorio y debe ser una fecha elegida en el calendario" } }); return true; } if(validaform()) { $("#enviar").click(function(){ var no_factura = $('#no_fact').val(); $.ajax({ type: 'POST', url:'http://localhost/facturas/index.php/Factura_controller/comparar_nofactura', data: {no_factura : no_factura }, success: function(resp) { if (resp === "") { $('#formcontacto').submit(); } else { alert("El numero de factura especificado ya existe"); } } }); return false }); } });
En resumen, lo que quiero es que, solo en el caso de que se cumpla esto (es decir, si los registros del formulario cumplen con estas reglas de validacion)....
Código:
$("#formcontacto").validate({ rules: { no_fact: { required: true, digits: true}, generada: { required: true, date: true}, vencimiento: { required: true, date: true}, concepto: { required: true }, descuento: { number: true , maxlength: 5, minlength: 5}, valor: { required: true , number: true }, recibido: { required: true , maxlength: 2, minlength: 2}, fecha: { required: true , date: true} }, messages: { no_fact: "el campo 'No Factura' es obligatorio y debe ser un numero", generada: "el campo 'Generada' es obligatorio y debe ser una fecha elegida en el calendario", vencimiento: "el campo 'Vencimiento' es obligatorio y debe ser una fecha elegida en el calendario", concepto: "el campo 'Concepto' es obligatorio", descuento: "el campo 'Descuento' debe ser un numero decimal y tener max y min 4 caracteres ej: 25.0", valor: "el campo 'Valor' es olbigatorio y debe ser un numero entero o decimal", recibido: "el campo '¿Recibido?' es obligatorio y debe tener como maximo y minimo dos(2) digitos (si/no)", fecha: "el campo 'Fecha de elaboracion' es obligatorio y debe ser una fecha elegida en el calendario" } });
se ejecute esta peticion ajax:
Código:
$("#enviar").click(function(){ var no_factura = $('#no_fact').val(); $.ajax({ type: 'POST', url:'http://localhost/facturas/index.php/Factura_controller/comparar_nofactura', data: {no_factura : no_factura }, success: function(resp) { if (resp === "") { $('#formcontacto').submit(); } else { alert("El numero de factura especificado ya existe"); } } }); return false });
les agradesco mucho lo que me puedan ayudar al respecto