Foros del Web » Programando para Internet » Jquery »

Quiero validar un formulario con jquery.validate.js

Estas en el tema de Quiero validar un formulario con jquery.validate.js en el foro de Jquery en Foros del Web. Compañeros(as) desde ya muchas gracias por su ayuda. Tengo un formulario, que deseo validar para eso baje el plugin jquery.validate que valida los formularios pero ...
  #1 (permalink)  
Antiguo 12/05/2009, 15:01
 
Fecha de Ingreso: marzo-2004
Ubicación: Chile
Mensajes: 382
Antigüedad: 20 años, 1 mes
Puntos: 0
Quiero validar un formulario con jquery.validate.js

Compañeros(as) desde ya muchas gracias por su ayuda.

Tengo un formulario, que deseo validar para eso baje el plugin jquery.validate que valida los formularios pero no me resulta y tengo otras preguntas mas...primero les muestro el codigo que tengo.

Head del formulario

Código:
<script language="javascript" src="js/jquery.js"></script>
<script language="javascript" src="js/funciones.js"></script>
<script language="javascript" src="js/jquery.validate.js"></script>
Código HTML:
<body>
<form method="post" action="envio.php" id="formContacto" name="formContacto" >
<fieldset id="formContacto" style="width:400px; border-color:#666666">
        <legend>Envia tus Comentarios</legend>
        <ol>
            <label>Nombre:</label><br/>
            <input type="text" size="30" name="txtNombre" id="txtNombre" class="required"/><br/>
            <label>E-mail:</label><br/>
            <input type="text" size="30" name="txtEmail" id="txtEmail" /><br/>
            <label>Asunto:</label><br/>
            <input type="text" size="30" name="txtAsunto" id="txtAsunto" class="required" /><br/>
            <label>Comentarios:</label><br/>
            <textarea name="txtComentarios" rows="5" cols="45" id="txtComentarios"></textarea><br/><br/>
        </ol>
        <input type="submit"   name="btnEnviar" value="Enviar" />
      </fieldset>
</form>
</body> 
ahora el archivo de las funciones.js

Código:
$(document).ready(function(){
	$("#formContacto").validate(); 
	
});
me arroja este error:

Error: $("#formContacto").validate is not a function
Archivo de origen: http://localhost/sitec/js/funciones.js
Línea: 21

pero me arroja el error apenas cargo la pagina sin necesidad de hacer cilc en el boton enviar del formulario.

Eso es con respecto al formulario, esta es mi otra pregunta.

Ahora en el mismo archivo funciones.js tengo un:
$(document).ready(function(){
...
....

que es para el menu y me carge una pagina dinamicamente el un div este es el codigo me funciona perfectamente peri quizas podrian hacerme alguna observacion:

Código:
$(document).ready(function(){//1
	//********* CODIGO PARA EL MENU **********
	$("#img_cargando").hide();
    $("#menu a").click(function(){//2
		$("#contenedor").hide();
		$("#img_cargando").show();
		$.ajax({//3
			url: $(this).attr('rel'),
			success: function(data){//4
			$("#img_cargando").fadeOut('fast', function(){
				$("#contenedor").html(data).fadeIn('slow');
			});//4
			}
		});//3
    });//2
});//1
Mi pregunta es por ejemplo para validar el formulario tengo que poner un :
$(document).ready(function(){

y para el tema de cargar el menu hago otro :
$(document).ready(function(){

entonces mi pregunta es por cada cosa que haga deberia poner un $(document).ready(function(){

o se puede incluir todo en tan solo un $(document).ready(function(){


Nose si me explique ...bien espero haberlo hecho y espero que puedan ayudarme ya que no me resulta ......


Nuevamente gracias.
  #2 (permalink)  
Antiguo 12/05/2009, 16:28
Avatar de Galled  
Fecha de Ingreso: marzo-2005
Ubicación: Lima
Mensajes: 254
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Quiero validar un formulario con jquery.validate.js

Cambia esto:
Código:
<script language="javascript" src="js/jquery.js"></script>
<script language="javascript" src="js/funciones.js"></script>
<script language="javascript" src="js/jquery.validate.js"></script>
por esto:
Código:
<script language="javascript" src="js/jquery.js"></script>
<script language="javascript" src="js/jquery.validate.js"></script>
<script language="javascript" src="js/funciones.js"></script>
__________________
Mi blog
  #3 (permalink)  
Antiguo 13/05/2009, 09:13
 
Fecha de Ingreso: marzo-2004
Ubicación: Chile
Mensajes: 382
Antigüedad: 20 años, 1 mes
Puntos: 0
Respuesta: Quiero validar un formulario con jquery.validate.js

Haber no hay forma que resulte no se qué hago mal, pero me di cuenta de algo ... me explico yo tengo en el index.php un div menú donde se carga el menú para las diferentes opciones y cuando le hacen click a alguna opción se carga en el mismo index.php pero en un div contendor....ósea que yo hago el formulario de contacto como cualquier pagina mas y cuando me hacen clic en contacto esta página se carga en el div contenedor del index.php

Ahora lo que me di cuenta ocupando herramientas como el firebug para firefox y Web developer que puedo ver el código fuente de la pagina ya cargada ósea el index.php mas la pagina de contacto cargada en el div contenedor del mismo index.php.

En la página de contacto.php las llamadas en el <head> que hago para incluir la librería jquery.js y jquery.validate.js no me aparecen incluso los tags <head> no están...por lo tanto decidí incluir la llamada de la libreria jquery.validate.js en el index.php para ver si funcionaba pero aun así no me hace nada el código.

Les dejo el código de la página contacto.php.

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script language="javascript" src="js/jquery.js"></script>
<script language="javascript" src="js/jquery.validate.js"></script>
<script type="text/javascript" language="javascript">
$(document).ready(function(){
	$("#formContacto").validate({
		rules: {
			txtNombre: {
				required: true
			},
			txtEmail: {
				required: true,
				minlength: 2
			}

		},
		messages: {
			txtNombre: {
				required: "* Debe Llenar este campo"
			},
			txtEmail: {
				required: "* Required",
				minlength: "* 2 Characters Required."
			}
		}             
	});
});      
</script>
<title>Documento sin t&iacute;tulo</title>
<link href="css/miEstilo.css" rel="stylesheet" type="text/css" />
</head>

<body>
<form id="formContacto" name="formContacto" >
<fieldset id="formContacto" style="width:400px; border-color:#666666">
        <legend>Envia tus Comentarios</legend>
        <ol>
            <label>Nombre:</label><br/>
            <input type="text" size="30" name="txtNombre" id="txtNombre" class="required"/>
            <br/>
            <label>E-mail:</label><br/>
            <input type="text" size="30" name="txtEmail" id="txtEmail" /><br/>
            <label>Asunto:</label><br/>
            <input type="text" size="30" name="txtAsunto" id="txtAsunto" class="required" /><br/>
            <label>Comentarios:</label><br/>
            <textarea name="txtComentarios" rows="5" cols="45" id="txtComentarios"></textarea>
          <br/><br/>
        </ol>
		<input type="submit"   name="btnEnviar" value="Enviar" id="btnSubmit" />
      </fieldset>
</form>
</body>
</html> 
Quizas por esto mismo es que cuando ponia el codigo de validacion de un formulario en el archivo funciones.js y lo llamaba de la pagina contacto.php me arrojaba ese errror:

Error: $("#formContacto").validate is not a function
Archivo de origen: http://localhost/sitec/js/funciones.js
Línea: 21

Bueno estoy a sus disposicion cualquier sugerencia....la necesito llevo dias en esto.....desde ya muchisimas gracias
  #4 (permalink)  
Antiguo 13/05/2009, 11:32
 
Fecha de Ingreso: mayo-2009
Mensajes: 7
Antigüedad: 15 años
Puntos: 0
Respuesta: Quiero validar un formulario con jquery.validate.js

Parece que tu código de validación está bien... Al menos yo lo utilizo de la misma forma...
Si los sources de tus js están bien, debería funcionar...

Veo que tu fieldset y tu form tienen el mismo id, lo que tal vez a jQuery le dificulte entender a cual te refieres.

Probá poniendoles id's diferentes y a ver que pasa.
  #5 (permalink)  
Antiguo 13/05/2009, 12:16
 
Fecha de Ingreso: marzo-2004
Ubicación: Chile
Mensajes: 382
Antigüedad: 20 años, 1 mes
Puntos: 0
Respuesta: Quiero validar un formulario con jquery.validate.js

Sabes hice los cambios que me sugeriste pero aun con esos cambios no me funcionan... gracias de todas formas compañero.

Estos fueron los cambios que hice.

Código:
<form id="formContacto" name="formContacto" >
<fieldset id="form" style="width:400px; border-color:#666666">
        <legend>Envia tus Comentarios</legend>
        <ol>
Eso hasta el momento y aun sin funcionar.....cualquier idea sugerencia ..gracias.
  #6 (permalink)  
Antiguo 13/05/2009, 12:26
 
Fecha de Ingreso: mayo-2009
Mensajes: 7
Antigüedad: 15 años
Puntos: 0
Respuesta: Quiero validar un formulario con jquery.validate.js

Mmm... Pues como te digo, parece estar bien tu código...

Te recomendaría 3 cosas.

1. Bajar de nuevo la última versión estable de jQuery.
2. Bajarte de nuevo el plugin.
3. Probar tu script en un archivo aparte.

Es probable que el archivo que descargaste esté corrupto o tenga algunos problemas, al igual que el jQuery.
Es recomendable que cuando tengas este tipo de problemas, los resuelvas en un archivo solitario, de tal forma a que después puedas incluirlo en tu proyecto y ver cual es el conflicto o problema que estás teniendo.

Igual, sigue intentando...
  #7 (permalink)  
Antiguo 13/05/2009, 12:43
 
Fecha de Ingreso: marzo-2004
Ubicación: Chile
Mensajes: 382
Antigüedad: 20 años, 1 mes
Puntos: 0
Respuesta: Quiero validar un formulario con jquery.validate.js

Haber como tu me recomendaste he probado tan solo el contacto.php de forma aparte y me funciona me valida sin problemas....pero cuando llego a cargar dinamicamente el contacto.php en el div contenedor del index.php ya no me funciona...observen el codigo que me genera el index.php ya cargada la pagina contacto.php en el div contenedor del index.php

Código HTML:
<html xmlns="http://www.w3.org/1999/xhtml"><head>


<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Language" content="es">

<title>::.  PRINCIPAL .::</title>
<script src="js/jquery.js" type="text/javascript"></script>
<script src="js/funciones.js" type="text/javascript"></script>

<link href="css/miEstilo.css" rel="stylesheet" type="text/css">
</head><body>
<div id="div_cabecera">AQUI BANNER PARA LA CABECERA</div>
<div id="menu">
	<ul>
		<li><a class="mano" rel="index.php">Inicio</a></li>
		<li><a class="mano" rel="">Empresa</a></li>
		<li><a class="mano" rel="javascript:UpdateDiv('servicios.php')">Beneficios</a></li>
		<li><a class="mano" rel="galeria.php">Galeria</a></li>

		<li><a class="mano" rel="/contacto">Contratos</a></li>
        <li><a class="mano" rel="/contacto">Noticias</a></li>
		<li><a class="mano" rel="contacto.php">Contacto</a></li></ul>
</div><br>
<img style="display: none;" src="imagenes/progress_circle.gif" name="img_cargando" class="centrado" id="img_cargando">
<div style="display: block;" id="contenedor">



<!-- DE AQUI HACIA ABAJO EL CONTACTO.PHP CARGODO EN EL DIV CONTENEDOR-->

<title>Documento sin título</title><!-- ACA EMPEIZA A CARGAR EL CONTACTO.PHP PERO NO APARECE EL HEAD DONDE LLAMO A LAS LIBRERIAS JQUERY Y JQUERY.VALIDATE-->
<link href="css/miEstilo.css" rel="stylesheet" type="text/css">

<form id="formContacto" name="formContacto">
<fieldset id="form" style="border-color: rgb(102, 102, 102); width: 400px;">
        <legend>Envia tus Comentarios</legend>
        <ol>
            <label>Nombre:</label><br>
            <input size="30" name="txtNombre" id="txtNombre" class="required" type="text">
            <br>

            <label>E-mail:</label><br>
            <input size="30" name="txtEmail" id="txtEmail" type="text"><br>
            <label>Asunto:</label><br>
            <input size="30" name="txtAsunto" id="txtAsunto" class="required" type="text"><br>
            <label>Comentarios:</label><br>
            <textarea name="txtComentarios" rows="5" cols="45" id="txtComentarios"></textarea>
          <br><br>

        </ol>
		<input name="btnEnviar" value="Enviar" id="btnSubmit" type="submit">
      </fieldset>
</form>
</div>
</body></html> 
hay un comentario que escribi donde se puede ver que no carga las librerias, despues del espacio en blanco

Que hago en este caso como las llamo....desde la pagina contacto.php???

Gracias nuevamente.
  #8 (permalink)  
Antiguo 13/05/2009, 12:58
 
Fecha de Ingreso: mayo-2009
Mensajes: 7
Antigüedad: 15 años
Puntos: 0
Respuesta: Quiero validar un formulario con jquery.validate.js

Prueba poniendo todos los archivos javascript y css en tu index.php, en la cabecera.
En tu archivo contacto.php solo pon el código del formulario y haz un include de tu archivo.

Disculpa, no me deja insertar el html el foro, porque dice que tengo que esperar 30 días... En fín...

Inserta en tu index.php todos tus javascripts y css y en el div de contacto haz un include de tu archivo contacto.php

Que tu archivo contacto.php solo tenga el código del form.

Pruebalo y dime que tal...

Última edición por YorYer; 13/05/2009 a las 13:07
  #9 (permalink)  
Antiguo 13/05/2009, 13:47
 
Fecha de Ingreso: marzo-2004
Ubicación: Chile
Mensajes: 382
Antigüedad: 20 años, 1 mes
Puntos: 0
Respuesta: Quiero validar un formulario con jquery.validate.js

haber me arroja este error .... pero es de firefox segun lo que leo...esto lo veo en la consola de errores de firefox.

Error: [Exception... "Component returned failure code: 0x80004001 (NS_ERROR_NOT_IMPLEMENTED) [nsIRequest.name]" nsresult: "0x80004001 (NS_ERROR_NOT_IMPLEMENTED)" location: "JS frame :: file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/components/nsLoginManager.js :: anonymous :: line 282" data: no]
Archivo de origen: file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/components/nsLoginManager.js
Línea: 282

Y asi me quedo la pagina del index.php con todo lo que me dijiste ... mejor dicho con lo que entendi...lo unico que no me quedo claro ..........y en el div de contacto haz un include de tu archivo contacto.php

De todas formas asi me quedo ...

Código HTML:
<html xmlns="http://www.w3.org/1999/xhtml"><head>


<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>::.  PRINCIPAL .::</title>
<script src="js/jquery.js" type="text/javascript"></script>
<script src="js/jquery.validate.js" type="text/javascript"></script>

<script src="js/funciones.js" type="text/javascript"></script>
<link href="css/miEstilo.css" rel="stylesheet" type="text/css">
</head><body>
<div id="div_cabecera">AQUI BANNER PARA LA CABECERA</div>
<div id="menu">
	<ul>
		<li><a class="mano" rel="index.php">Inicio</a></li>
		<li><a class="mano" rel="">Empresa</a></li>
		<li><a class="mano" rel="javascript:UpdateDiv('servicios.php')">Beneficios</a></li>

		<li><a class="mano" rel="galeria.php">Galeria</a></li>
		<li><a class="mano" rel="/contacto">Contratos</a></li>
        <li><a class="mano" rel="/contacto">Noticias</a></li>
		<li><a class="mano" rel="contacto.php">Contacto</a></li></ul>
</div><br>
<img style="display: none;" src="imagenes/progress_circle.gif" name="img_cargando" class="centrado" id="img_cargando">
<div style="display: block;" id="contenedor">


<!-- AL PARECER AUN NO TOMA ESAS LLAMADAS A LA LIBRERIAS PORQUE NO ME HACE NADA DE VALIDACIONES-->


<form id="formContacto" name="formContacto">
<fieldset id="form" style="border-color: rgb(102, 102, 102); width: 400px;">
        <legend>Envia tus Comentarios</legend>
        <ol>
            <label>Nombre:</label><br>
            <input size="30" name="txtNombre" id="txtNombre" class="required" type="text">
            <br>

            <label>E-mail:</label><br>
            <input size="30" name="txtEmail" id="txtEmail" type="text"><br>
            <label>Asunto:</label><br>
            <input size="30" name="txtAsunto" id="txtAsunto" class="required" type="text"><br>
            <label>Comentarios:</label><br>
            <textarea name="txtComentarios" rows="5" cols="45" id="txtComentarios"></textarea>
          <br><br>

        </ol>
		<input name="btnEnviar" value="Enviar" id="btnSubmit" type="submit">
      </fieldset>
</form>


</div>
</body></html> 
Eso hasta el momento....aprovecho para agradecer tu disponibilidad y buena voluntad en ayudarme....

Gracias
  #10 (permalink)  
Antiguo 09/03/2011, 09:13
Avatar de cesar203  
Fecha de Ingreso: enero-2010
Ubicación: LIMA
Mensajes: 27
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Quiero validar un formulario con jquery.validate.js

Oal amigos yo tambien tengo un problema quiero hacer la validacion con un email como lo puedo hacer

$("#formContacto").validate({
rules: {
txtNombre: {
required: true
},
txtEmail: {
? ??? validar que estae vien escrito el email }

},
messages: {
txtNombre: {
required: "* Debe Llenar este campo"
},
txtEmail: {
required: "* Required",
minlength: "* 2 Characters Required."
}
}
});
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 13:22.