Foros del Web » Programando para Internet » Jquery »

Jquery - Validation | Validar solo al enviar (Submit)

Estas en el tema de Jquery - Validation | Validar solo al enviar (Submit) en el foro de Jquery en Foros del Web. Estoy validando un formulario con Jquery usando el plugins validation. Pasa que me valida cuando un campo pierde el foco... quiere que se validen todos ...
  #1 (permalink)  
Antiguo 09/06/2011, 12:46
kid
 
Fecha de Ingreso: diciembre-2003
Mensajes: 295
Antigüedad: 21 años
Puntos: 0
Jquery - Validation | Validar solo al enviar (Submit)

Estoy validando un formulario con Jquery usando el plugins validation.

Pasa que me valida cuando un campo pierde el foco... quiere que se validen todos los campos SOLAMENTE cuando presione el botón enviar.

¿Saben como lograr eso?

Saludos!
  #2 (permalink)  
Antiguo 09/06/2011, 12:48
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 7 meses
Puntos: 344
Respuesta: Jquery - Validation | Validar solo al enviar (Submit)

¿Puedes poner el código que tienes hecho hasta ahora?

Para ver que estás haciendo.
  #3 (permalink)  
Antiguo 09/06/2011, 13:43
kid
 
Fecha de Ingreso: diciembre-2003
Mensajes: 295
Antigüedad: 21 años
Puntos: 0
Respuesta: Jquery - Validation | Validar solo al enviar (Submit)

Código:
$(document).ready(function() {

$("#form1").validate({
rules: {
    nombre : "required"
},
messages : {
   nombre : "Debes ingresar tu nombre completo<br />"
}
});

});
Principalmente eso... cuando el campo "nombre" pierde el foco lo valida, y necesito que la validación se haga solamente cuando se envié el formulario
  #4 (permalink)  
Antiguo 09/06/2011, 13:58
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 7 meses
Puntos: 344
Respuesta: Jquery - Validation | Validar solo al enviar (Submit)

Tienes que jugar con las opciones del plugin:

Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.  
  3. $("#form1").validate({
  4. rules: {
  5.     nombre : "required"
  6. },
  7. messages : {
  8.    nombre : "Debes ingresar tu nombre completo<br />"
  9. },
  10. onfocusout: false,
  11. onkeyup: false,
  12. onclick: false
  13. });
  14.  
  15. });

El link a la documentación oficial, por si quieres ver más opciones: http://docs.jquery.com/Plugins/Valid...idate#toptions
  #5 (permalink)  
Antiguo 09/06/2011, 14:59
kid
 
Fecha de Ingreso: diciembre-2003
Mensajes: 295
Antigüedad: 21 años
Puntos: 0
Respuesta: Jquery - Validation | Validar solo al enviar (Submit)

Wauuuuu, funcionó perfecto. No me había fijado en esas opciones :(

Una última pregunta... cuando presiono el botón (submit), efectivamente valida, pero apesar de que muestra los errores, igualmente envía el formulario.

Que hacer en ese caso?

Saludos!
  #6 (permalink)  
Antiguo 09/06/2011, 15:03
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 7 meses
Puntos: 344
Respuesta: Jquery - Validation | Validar solo al enviar (Submit)

Pues en principio no debería hacer submit. Pon el código del formulario y del javascript para ver como lo haces.
  #7 (permalink)  
Antiguo 13/06/2011, 17:08
Avatar de baxter  
Fecha de Ingreso: diciembre-2001
Ubicación: Localhost
Mensajes: 160
Antigüedad: 23 años
Puntos: 0
Respuesta: Jquery - Validation | Validar solo al enviar (Submit)

Hola, tengo exactamente el mismo problema que Kid, al dar clic en submit valida el formulario pero aún así lo envía, el código JavaScript es:

Código:
<script language="javascript" src="jquery.validate.min.js"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function() {
    $().ajaxStart(function() {
        $('#loading').show();
        $('#result').hide();
    }).ajaxStop(function() {
        $('#loading').hide();
        $('#result').fadeIn('slow');
    });
    $("#bcliente").validate({
	  rules: {
	    clave : "required"
	},
	messages : {
	   clave : "Se requiere clave"
	},
    });
    $('#form, #fat, #bcliente').submit(function() {
        $.ajax({
            type: 'POST',		
	//					beforeSend: validate('#bcliente'),				
            url: $(this).attr('action'),
            data: $(this).serialize(),
            success: function(data) {
                $('#result').html(data);

            }
        })
        
        return false;
    }); 
})  
</script>
Gracias por su ayuda
__________________
Hoc unum scio, me nihil scire
Linux registered user #453853
  #8 (permalink)  
Antiguo 14/06/2011, 22:53
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 19 años
Puntos: 87
Respuesta: Jquery - Validation | Validar solo al enviar (Submit)

La coma despues de clave : "required"} no debería estar hay.
  #9 (permalink)  
Antiguo 05/10/2016, 07:01
 
Fecha de Ingreso: octubre-2012
Mensajes: 202
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Jquery - Validation | Validar solo al enviar (Submit)

Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.     $("#formRepresentante").validate({
  3.         rules: {
  4.             nombre: { required: true},
  5.             apellido_materno: { required: true},
  6.             apellido_paterno: { required: true},
  7.             email: { required: true},
  8.             telefono: { required: true}
  9.         },
  10.         messages: {
  11.             nombre: "El campo 'nombre' no puedo estar vacio.",
  12.             apellido_materno: "El campo 'apellido materno' no puede estar vacio.",
  13.             apellido_paterno : "El campo 'apellido paterno' no puede estar vacio.",
  14.             email : "Por favor revise el campo 'email'.",
  15.             telefono : "Por favor revise el campo 'telefono'.",
  16.         },
  17.  
  18.         onfocusout: false,
  19.         onkeyup: false,
  20.         onclick: false,
  21.  
  22.         errorPlacement: function (error, element) {
  23.             Materialize.toast(error.text(), 6000);
  24.         },
  25.         submitHandler: function(form) {
  26.           form.submit();
  27.         }
  28.     });
  29. });


Ahi tenes mi ejemplo con la opcion para que no mande si hay campos no validados correctamente

Etiquetas: javascript, submit
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:42.