Tengo una duda que me lleva toda la mañana revisando documentación y tratando de entender como puedo hacerlo pero no hay manera.
Empiezo por el comienzo. Tengo un formulario que necesito hacer una validación de campos, en el que estoy utilizando jQuery Validate para controlar que los campos son obligatorios. El caso es que tengo 2 campos relacionados entre si: AñoAlta (select-option) y NumeroAlta (input-text) donde controlo el año que se da de alta y el número de “control” por decirlo de algún modo.
Cuando valido el campo NumeroAlta, con la opción remote, checkeo la base de datos, y reviso que no hay un NumeroAlta y AñoAlta que coincidan. Hasta aquí todo funciona perfectamente, me da error si el registro en el año AñoAlta 2001 y NumeroAlta 1 existe, por ejemplo. Si cambio el valor del NumeroAlta me valida y si no existe desaparece el error de validación (así es como debe hacerlo) pero…. ahora el problema, si cambio el AñoAlta por otro nuevo (2011) y el NumeroAlta sigue siendo el mismo, no hay manera de validar el campo NumeroAlta (sabiendo que no existe para el nuevo año seleccionado).
He probado a poner en el onchange del select-option a ver si así me valida cada vez que hace un campo, o con opciones del jquery validate, pero no encuentro el modo de solucionar este problema. ¿alguno le ha pasado antes? ¿sabies como puedo validar el campo NumeroAlta, en el onchange del AñoAlta, usando las reglas que ya tengo?
-------------- FORMULARIO ---------------------------
Año [Desplegable 2001 – 2002 – 2003]
Numero Alta _______________
[enviar]
------------------------------------------------------------
Código:
Espero haberme explicado bien... para cuaqluier aclaración decirme, que encantado estoy de explicarme otra vez con ejemplos y valores para que me entendáis. $("#form").validate({ errorLabelContainer: $("#ErroresFormulario"), rules: { NumeroAlta:{ required:true, remote:{ url: "modulos/licencias/existe.php", type: "post", data:{ licencia:function(){ return $("#NumeroAlta ").val();}, idano: function(){return $("#AñoAlta option:selected").val();} } } }, AñoAlta:{ remote:{ url: "modulos/licencias/existe.php", type: "post", data:{ licencia:function(){ return $("#NumeroAlta").val();}, idano: function(){return $("#AñoAlta option:selected").val();} } } }, }, messages:{ ………