Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/04/2013, 11:26
Avatar de fhederico
fhederico
 
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 14 años, 9 meses
Puntos: 23
Pregunta Jquery Validate al cargar un campo por Ajax

Hola,

Estuve buscando pero no encontre nada para poder solucionar esto, el problema es el siguiente, tengo un formulario que tiene los siguientes campos (Html normal):

Código HTML:
Ver original
  1. <form id="form_candidato" action="#" method="post">
  2.  
  3. Pais:
  4.  
  5. <select required="required" onchange="traeRegiones(this.value)" name="paisid" class="div_select" id="paisid">
  6.         <option value="0">Elige una opción</option>
  7. //Opciones
  8.             </select>
  9.  
  10. //Aqui se cargarian las regiones en un select
  11. <div id="div_regiones"></div>
  12.  
  13. Nombre:
  14. <input type="text" class="div_input" maxlength="255" required="required" name="formNombre" id="formNombre">
  15.  
  16. Curso:
  17. <input type="text" class="div_input" maxlength="255" required="required" name="formCurso" id="formCurso">
  18.  
  19.  
  20. <input type="submit" value="Enviar">
  21.  
  22. </form>


Cuando una persona selecciona el Pais, se llama mediante un "onchange" a la funcion "traeRegiones" las cuales obviamente trae las regiones segun el pais seleccionado por Ajax.

Si se envia el formulario se valida con "validate"

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.        
  3.         $(document).ready(function()
  4.         {
  5.  
  6.             $("#form_candidato").validate({
  7.                 debug: true,
  8.                 'errorClass': 'msgboxJQ errorJQ',
  9.                 errorElement:'div',
  10.                 'highlight': function (element, errorClass) {
  11.                     $(element).addClass('failed');
  12.                 },
  13.                 'unhighlight': function (element, errorClass) {
  14.                     $(element).removeClass('failed');
  15.                 }
  16.             });
  17.         });
  18.  
  19.  
  20.         function traeRegiones(id)
  21.         {
  22. $('#div_regiones').load("{{ path('traeRegionxPais') }}/"+id);
  23.         }
  24.     </script>


El problema es que si yo pulso enviar al formulario, me despliega el mensaje "Este campo es obligatorio." en los 3 campos originales, pero no en el campo "region".

Una solucion que encontre fue cargar despues del load la validacion (callback) pero obviamente aqui no puedo, ya que requiero que la persona pulse en el pais para poder traer la region, la duda finalmente es... existe alguna manera de poder agregar una validacion por JQuery al campo region?? o de plano simplemente le agrego una validacion con Javascript no mas

Gracias de ante mano