Ir al contenido


Foto

Problemas con jQuery Validate en 2 vistas diferentes


  • Por favor identifícate para responder
2 respuestas en este tema

#1 NashoShinoda

NashoShinoda

    Newbie

  • Miembros
  • Pip
  • 3 mensajes

Escrito 28 agosto 2014 - 02:47

Buenas tardes, saludos desde México. Escribo este mensaje para obtener ayuda ya que, como le comente a César Cancino, tengo bastantes días con el siguiente problema:

Estoy trabajando con CodeIgniter donde manejo 2 vistas con un formulario en cada una de ellas. Aplicó validaciones para los campos usando jQuery Validate donde las condiciones son las mismas. En la vista #1, las validaciones se ejecutan sin ningún problema pero en la vista #2 puedo escribir datos erroneos e incluso dejar vacíos los campos pero las validaciones no se ejecutan y me permite guardar la información en la base de datos.

Adjuntos los códigos:



php
  1. *****VISTA #1*****
  2. <div id="main">
  3.     <div class="content">
  4.       <div id="formularioNuevoNodo">
  5.         <?php
  6.        
  7.           /*****Creación de formulario*****/
  8.           //Apertura de formulario
  9.           echo form_fieldset('REGISTRO DEL NUEVO NODO');
  10.  
  11.           $atributos = array('id' => 'nuevoNodo', 'name'  =>  'nuevoNodo');
  12.           echo form_open('nuevoNodo/insertNewNode', $atributos);  //form_open(controlador/metodo, atributos);
  13.          
  14.           //Creación de los campos
  15.           $campoNumeroNodo = array(
  16.                   'name'        =>  'numeroNodo',
  17.                   'id'          =>  'numeroNodo',
  18.                   'value'      =>  '',
  19.                   'placeholder' =>  'Ejemplo: 5.1, 6.2, 1000'
  20.           );
  21.           $campoUbicacionCTC = array(
  22.                   'name'        =>  'ubicacionCTC',
  23.                   'id'          =>  'ubicacionCTC',
  24.                   'value'      =>  '',
  25.                   'placeholder' =>  "Ejemplo: 1, 2A, B', 1500"
  26.           );
  27.           $campoNivelCTC = array(
  28.                   'name'        =>  'nivelCTC',
  29.                   'id'          =>  'nivelCTC',
  30.                   'value'      =>  '',
  31.                   'placeholder' =>  'Ejemplo: 15, 18, 31, 34',
  32.           );
  33.           $tiposNodos = array(
  34.                   '1:1'        =>  '1:1',
  35.                   '2:1'        =>  '2:1',
  36.                   '3:1'        =>  '3:1',
  37.                   '4:1'        =>  '4:1',
  38.           );
  39.           $idTiposNodos = 'id = "tipoNodo"';
  40.           $modelosNodos = array(
  41.                   'Modelo 1000'  =>  'Modelo 1000',
  42.                   'Modelo 2000'  =>  'Modelo 2000',
  43.                   'Modelo 3000'  =>  'Modelo 3000',
  44.                   'Modelo 4000'  =>  'Modelo 4000',
  45.           );
  46.           $idModelosNodos = 'id = "modeloNodo"';
  47.           $campoLatitudNodo = array(
  48.                   'name'  =>  'latNodo',
  49.                   'id'    =>  'latNodo',
  50.                   'value' =>  '',
  51.                   'placeholder' =>  'Ejemplo: 29.012345'
  52.           );
  53.           $campoLongitudNodo = array(
  54.                   'name'        =>  'lngNodo',
  55.                   'id'          =>  'lngNodo',
  56.                   'value'      =>  '',
  57.                   'placeholder' =>  'Ejemplo: -110.012345'
  58.           );
  59.           $campoDireccionNodo = array(
  60.                   'name'        =>  'direccionNodo',
  61.                   'id'          =>  'direccionNodo',
  62.                   'value'      =>  '',
  63.                   'placeholder' =>  'Ejemplo: Av. Veracruz #123'
  64.           );
  65.           $botonGuardar = array(
  66.                   'name'    =>  'Guardar',
  67.                   'id'      =>  'btnGuardar',
  68.                   'class'   => 'btn btn-primary',
  69.                   'value'  =>  'Guardar'
  70.           );
  71.           $botonLimpiar = array(
  72.                   'name'    =>  'Limpiar',
  73.                   'id'      =>  'botonLimpiar',
  74.                   'class'   => 'btn btn-primary',
  75.                   'type'    =>  'Reset'
  76.           );
  77.           $botonRegresar = array(
  78.                   'name'    =>  'Regresar',
  79.                   'id'      =>  'botonRegresar',
  80.                   'class'   => 'btn btn-primary'
  81.           );
  82.         ?>
  83.         <table>
  84.           <tr>
  85.             <td><?php echo form_label('Nodo:')."<br>"; ?></td>
  86.             <td><?php echo form_input($campoNumeroNodo)."<br>"; ?></td>
  87.           </tr>
  88.           <tr>
  89.             <td><?php echo form_label('Ubicación en CTC:')."<br>"; ?></td>
  90.             <td><?php echo form_input($campoUbicacionCTC)."<br>"; ?></td>
  91.           </tr>
  92.           <tr>
  93.             <td><?php echo form_label('Nivel:')."<br>"; ?></td>
  94.             <td><?php echo form_input($campoNivelCTC)."<br>"; ?></td>
  95.           </tr>
  96.           <tr>
  97.             <td><?php echo form_label('Tipo:')."<br>"; ?></td>
  98.             <td><?php echo form_dropdown('tipoNodo', $tiposNodos, '1:1', $idTiposNodos); ?></td>
  99.           </tr>
  100.           <tr>
  101.             <td><?php echo form_label('Modelo:')."<br>"; ?></td>
  102.             <td><?php echo form_dropdown('modeloNodo', $modelosNodos, '1:1', $idModelosNodos); ?></td>
  103.           </tr>
  104.           <tr>
  105.           <?php
  106.  
  107.             $coloniasArray = array();
  108.             for($i=0; $i<count($listaColonias); $i++){
  109.               $coloniasArray[$listaColonias[$i]->coloniaId] = $listaColonias[$i]->nombreColonia;
  110.             }
  111.  
  112.           ?>
  113.             <td><?php echo form_label('Colonia:')."<br>"; ?></td>
  114.             <td><?php echo form_dropdown('nombreColonia', $coloniasArray); ?></td>
  115.           </tr>
  116.           <tr>
  117.             <td><?php echo form_label('Latitud:')."<br>"; ?></td>
  118.             <td><?php echo form_input($campoLatitudNodo)."<br>"; ?></td>
  119.           </tr>
  120.           <tr>
  121.             <td><?php echo form_label('Longitud:')."<br>"; ?></td>
  122.             <td><?php echo form_input($campoLongitudNodo)."<br>"; ?></td>
  123.           </tr>
  124.           <tr>
  125.             <td><?php echo form_label('Dirección:')."<br>"; ?></td>
  126.             <td><?php echo form_input($campoDireccionNodo)."<br>"; ?></td>
  127.           </tr>
  128.             <td>
  129.               <?php
  130.            
  131.                 echo form_submit($botonGuardar);
  132.                 echo form_button($botonLimpiar, 'Limpiar');
  133.                 echo form_button($botonRegresar, 'Regresar');
  134.  
  135.                 //Cierre de formulario
  136.                 echo form_close();
  137.  
  138.                 //cierre del fieldset
  139.                 echo form_fieldset_close();
  140.  
  141.               ?>
  142.             </td>
  143.           </tr>
  144.         </table>
  145.       </div><!-- Fin div formularioNuevoNodo -->
  146.     </div><!-- Fin div content -->
  147. </div><!-- Fin div main -->





php
  1. *****VISTA #2*****
  2. <div id="main">
  3.     <div class="content">
  4.         <?php
  5.         /*****Creación de formulario*****/
  6.         //Apertura de formulario de busqueda de información
  7.         echo form_fieldset('MODIFICAR INFORMACIÓN DE NODO');
  8.         ?>
  9.         <div id="formularioModificarNodo">
  10.             <?php
  11.             $atributosSearchInfoNode = array('id' => 'ModificarNodo', 'name'  =>  'ModificarNodo');
  12.             echo form_open('modificarNodo/searchInfoNode', $atributosSearchInfoNode);  //form_open(controlador/metodo, atributos);
  13.             ?>
  14.            
  15.             <div id="divBusquedaNodo">
  16.                 <?php
  17.  
  18.                     //Creación de los campos de búsqueda de nodo
  19.                     //Campo de búsqueda de nodo
  20.                     $campoNumeroNodo = array(
  21.                         'name'          => 'updateNumeroNodo',
  22.                         'id'            =>  'updateNumeroNodo',
  23.                         'placeholder' =>  'Ejemplo: 5.1, 6.2, 1000'
  24.                     );
  25.  
  26.                     //Botón de búsqueda
  27.                     $botonBusqueda = array(
  28.                         'name'          => 'submit',
  29.                         'id'            =>  'botonBuscar',
  30.                         'class'     => 'btn btn-primary'
  31.                     );
  32.  
  33.                     //Creación de los campos con la información del nodo
  34.                     //Campos con la información del nodo
  35.                     $campoUbicacionCTC = array(
  36.                         'name'        =>  'updateUbicacionCTC',
  37.                         'id'          =>  'updateUbicacionCTC',
  38.                         'value'      =>  '',
  39.                         'disabled'    =>  'TRUE'
  40.                     );
  41.  
  42.                     $campoNivelCTC = array(
  43.                         'name'        =>  'updateNivelCTC',
  44.                         'id'          =>  'updateNivelCTC',
  45.                         'value'      =>  '',
  46.                         'disabled'    =>  'TRUE'
  47.                     );
  48.  
  49.                     $campoTipoNodo = array(
  50.                         'name'        =>  'updateTipoNodo',
  51.                         'id'          =>  'updateTipoNodo',
  52.                         'value'      =>  '',
  53.                         'disabled'    =>  'TRUE'
  54.                     );
  55.  
  56.                     $campoModeloNodo = array(
  57.                         'name'        =>  'updateModeloNodo',
  58.                         'id'          =>  'updateModeloNodo',
  59.                         'value'      =>  '',
  60.                         'disabled'    =>  'TRUE'     
  61.                     );
  62.                     $campoLatitudNodo = array(
  63.                         'name'          =>  'updateLatNodo',
  64.                         'id'            =>  'updateLatNodo',
  65.                         'value'        =>  '',
  66.                         'pattern'      =>  '^[0-9]{2}(\.[0-9]{0,6})?$',
  67.                         'disabled'      =>  'TRUE'
  68.                     );
  69.  
  70.                     $campoLongitudNodo = array(
  71.                         'name'        =>  'updateLngNodo',
  72.                         'id'          =>  'updateLngNodo',
  73.                         'value'      =>  '',
  74.                         'disabled'    =>  'TRUE'
  75.                     );
  76.  
  77.                     $campoDireccionNodo = array(
  78.                         'name'        =>  'updateDireccionNodo',
  79.                         'id'          =>  'updateDireccionNodo',
  80.                         'value'      =>  '',
  81.                         'disabled'    =>  'TRUE'
  82.                     );
  83.  
  84.                     $botonGuardar = array(
  85.                         'name'      =>  'Guardar',
  86.                         'id'        =>  'botonGuardar',
  87.                         'class'    =>  'btn btn-primary',
  88.                         'value'    =>  'Guardar',
  89.                         'disabled'  =>  'TRUE'
  90.                     );
  91.  
  92.                     $botonRegresar = array(
  93.                         'name'      =>  'Regresar',
  94.                         'id'        =>  'botonRegresar',
  95.                         'value'    =>  'Regresar',
  96.                         'class'    =>  'btn btn-primary',
  97.                         'disabled'  =>  'TRUE'
  98.                     );
  99.                 ?>
  100.                
  101.                 <table>
  102.                     <tr>
  103.                         <td><?php echo form_label('Nodo:'); ?></td>
  104.                         <td><?php echo form_input($campoNumeroNodo); ?></td>
  105.                         <td><input type="hidden" name="campoNodoId" id="campoNodoId"></td>
  106.                         <td><?php echo form_button($botonBusqueda, 'Buscar'); ?></td>
  107.                     </tr>
  108.                 </table>
  109.             </div><!-- Fin divBusquedaNodo -->
  110.             <div id="divInformacionNodo">
  111.                 <table>
  112.                     <tr>
  113.                         <td><?php echo form_label('Ubicación en CTC:')."<br>"; ?></td>
  114.                         <td><?php echo form_input($campoUbicacionCTC)."<br>"; ?></td>
  115.                     </tr>
  116.                     <tr>
  117.                         <td><?php echo form_label('Nivel:')."<br>"; ?></td>
  118.                         <td><?php echo form_input($campoNivelCTC)."<br>"; ?></td>
  119.                     </tr>
  120.                     <tr>
  121.                         <td><?php echo form_label('Tipo:')."<br>"; ?></td>
  122.                         <td><?php echo form_input($campoTipoNodo); ?></td>
  123.                     </tr>
  124.                     <tr>
  125.                         <td><?php echo form_label('Modelo:')."<br>"; ?></td>
  126.                         <td><?php echo form_input($campoModeloNodo); ?></td>
  127.                     </tr>
  128.                     <tr>
  129.                         <?php
  130.                             $idColonia = 'id = "updateNombreColonia"';
  131.                             $coloniasArray = array();
  132.                    
  133.                             for ($i=0; $i<count($listaColonias); $i++) {
  134.                                 $coloniasArray[$listaColonias[$i]->coloniaId] = $listaColonias[$i]->nombreColonia;
  135.                             }
  136.                         ?>
  137.                             <td><?php echo form_label('Colonia:')."<br>"; ?></td>
  138.                             <td><?php echo form_dropdown('updateNombreColonia', $coloniasArray, '', $idColonia); ?></td>
  139.                             <td><input type="hidden" id="oldColoniaId"></td>
  140.                     </tr>
  141.                     <tr></tr>
  142.                     <tr>
  143.                         <td><?php echo form_label('Latitud:')."<br>"; ?></td>
  144.                         <td><?php echo form_input($campoLatitudNodo)."<br>"; ?></td>
  145.                     </tr>
  146.                     <tr>
  147.                         <td><?php echo form_label('Longitud:')."<br>"; ?></td>
  148.                         <td><?php echo form_input($campoLongitudNodo)."<br>"; ?></td>
  149.                     </tr>
  150.                     <tr>
  151.                         <td><?php echo form_label('Dirección:')."<br>"; ?></td>
  152.                         <td><?php echo form_input($campoDireccionNodo)."<br>"; ?></td>
  153.                     </tr>
  154.                     <tr>
  155.                         <td>
  156.                             <?php
  157.                             echo form_button($botonGuardar, 'Guardar');
  158.                             echo form_button($botonRegresar, 'Regresar');
  159.                             ?>
  160.                         </td>
  161.                     </tr>
  162.                 </table>
  163.             </div><!-- Fin divInformacionNodo -->
  164.            
  165.             <?php
  166.                 //Cierre de formulario searchInfoNode
  167.                 echo form_close();   
  168.  
  169.             ?>
  170.         </div><!-- Fin DIV dataModificarNodo -->
  171.         <?php
  172.             echo form_fieldset_close();
  173.         ?>
  174.     </div><!-- Fin DIV content -->
  175. </div><!-- Fin DIV main -->





java
  1. *****Archivo javascript*****
  2. $(document).ready(function(){
  3. functions.newNodeFormValidation();
  4. functions.updateNodeFormValidation();
  5. });
  6.  
  7. var functions = {
  8. newNodeFormValidation:function(){
  9. //Método para validar que se ingresen caracteres alfanúmericos
  10.       $.validator.addMethod("regex", function(value, element, regexp){
  11.       var re = new RegExp(regexp);
  12.           return this.optional(element) || re.test(value);
  13.       }, "¿Está ingresando bien el dato?");
  14.       //Inicializamos el método de validación del formulario
  15. $('#nuevoNodo').validate({
  16. //Establecemos las reglas
  17.         rules: {
  18.             numeroNodo: {
  19.                 required: true,
  20.                 regex: "[a-zA-Z0-9_]+$"
  21.             },
  22.             ubicacionCTC: {
  23.                 required: true,
  24.                 minlength: 1,
  25.                 maxlength: 20
  26.             },
  27.             nivelCTC: {
  28.                 required: true
  29.             },
  30.             tipoNodo: {
  31.                 required: true
  32.             },
  33.             modeloNodo: {
  34.                 required: true
  35.             },
  36.             nombreColonia: {
  37.                 required: true
  38.             },
  39.             latNodo: {
  40.             required: true,
  41.             regex: "^[0-9]{2}(\.[0-9]{0,6})?$"
  42.             },
  43.             lngNodo: {
  44.             required: true,
  45.             regex: "^[-][0-9]{2,3}(\.[0-9]{0,6})?$"
  46.             },
  47.             direccionNodo: {
  48.                 required: true
  49.             },
  50.         },
  51.  
  52.         //Asignamos los mensajes para cada campo
  53.         messages: {
  54.         numeroNodo: {
  55.                 required: 'Ingresa el número del nodo'
  56.             },
  57.             ubicacionCTC: {
  58.                 required: 'Ingresa la ubicación en CTC o HUB'
  59.             },
  60.             nivelCTC: {
  61.                 required: 'Ingresa el nivel del nodo'
  62.             },
  63.             tipoNodo: {
  64.                 required: 'Ingresa el tipo de nodo'
  65.             },
  66.             modeloNodo: {
  67.                 required: 'Ingresa el modelo del nodo'
  68.             },
  69.             nombreColonia: {
  70.                 required: 'Ingresa el nombre de la colonia'
  71.             },
  72.             latNodo: {
  73.             required: 'Ingresa la latitud del nodo'
  74.             },
  75.             lngNodo: {
  76.             required: 'Ingresa la longitud del nodo'
  77.             },
  78.             direccionNodo: {
  79.                 required: 'Ingresa la dirección del nodo'
  80.             },
  81.         }
  82.     });
  83. },//Fin método newNodeFormValidation
  84.  
  85. updateNodeFormValidation: function(){
  86. //Método para validar que se ingresen caracteres alfanúmericos
  87.       $.validator.addMethod("regex", function(value, element, regexp){
  88.       var re = new RegExp(regexp);
  89.           return this.optional(element) || re.test(value);
  90.       }, "¿Está ingresando bien el dato?");
  91.       //Inicializamos el método de validación del formulario
  92. $('#ModificarNodo').validate({
  93. //Establecemos las reglas
  94.         rules: {
  95.             updateUbicacionCTC: {
  96.                 required: true,
  97.                 minlength: 1,
  98.                 maxlength: 20
  99.             },
  100.             updateNivelCTC: {
  101.                 required: true
  102.             },
  103.             updateTipoNodo: {
  104.                 required: true
  105.             },
  106.             updateModeloNodo: {
  107.                 required: true
  108.             },
  109.             updateNombreColonia: {
  110.                 required: true
  111.             },
  112.             updateLatNodo: {
  113.             required: true,
  114.             regex: "^[0-9]{2}(\.[0-9]{0,6})?$"
  115.             },
  116.             updateLngNodo: {
  117.             required: true,
  118.             regex: "^[-][0-9]{2,3}(\.[0-9]{0,6})?$"
  119.             },
  120.             updateDireccionNodo: {
  121.                 required: true
  122.             },
  123.         },
  124.  
  125.         //Asignamos los mensajes para cada campo
  126.         messages: {
  127.             updateUbicacionCTC: {
  128.                 required: 'Ingresa la ubicación en CTC o HUB'
  129.             },
  130.             updateNivelCTC: {
  131.                 required: 'Ingresa el nivel del nodo'
  132.             },
  133.             updateTipoNodo: {
  134.                 required: 'Ingresa el tipo de nodo'
  135.             },
  136.             updateModeloNodo: {
  137.                 required: 'Ingresa el modelo del nodo'
  138.             },
  139.             updateNombreColonia: {
  140.                 required: 'Ingresa el nombre de la colonia'
  141.             },
  142.             updateLatNodo: {
  143.             required: 'Ingresa la latitud del nodo'
  144.             },
  145.             updateLngNodo: {
  146.             required: 'Ingresa la longitud del nodo'
  147.             },
  148.             updateDireccionNodo: {
  149.                 required: 'Ingresa la dirección del nodo'
  150.             },
  151.         }
  152.     });
  153. }//Fin método updateNodeFormValidation
  154. }//Fin var functions



Espero puedan ayudarme. Gracias por su atención.
  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 28 agosto 2014 - 03:07

Bienvenido a delphiaccess NashoShinoda

Modifiqué tu mensaje para agregar la etiqueta de código puedes usar el botón que tiene el signo #, como podrás ver, se entiende mejor el código.

Espero que alguien te ayude pronto.

Saludos.
  • 0

#3 NashoShinoda

NashoShinoda

    Newbie

  • Miembros
  • Pip
  • 3 mensajes

Escrito 30 agosto 2014 - 08:24

Gracias. Es la primera vez que me registro en un foro de programación y si, yo también espero que alguien pueda echarme la mano. Saludos!!!
  • 0




IP.Board spam blocked by CleanTalk.