Foros del Web » Programando para Internet » Javascript »

mensajes de validación

Estas en el tema de mensajes de validación en el foro de Javascript en Foros del Web. buenas alguien sabe como puedo hacer para imprimir un mensaje de error al lado del input que le corresponde.. o como deberia hacerlo .. lo ...
  #1 (permalink)  
Antiguo 01/05/2011, 14:12
 
Fecha de Ingreso: diciembre-2010
Mensajes: 166
Antigüedad: 14 años
Puntos: 0
mensajes de validación

buenas alguien sabe como puedo hacer para imprimir un mensaje de error al lado del input que le corresponde.. o como deberia hacerlo .. lo primero que se me ocurrio fue esto.. pero no funciona .. luego pense en poner un <P style="hidden"> con el mensaje de error y cambiar el estilo si se producia el error peró no tengo muy claro si es la mejor forma de hacerlo.
Código:
<html>
	<head>
		<title>
			validacion - formularios
		</title>
	<script language="javascript">
	<!--
	function validar()
		{
		if(document.forms.formulario.nombre.value=="")
			{
			var error="Este campo no puede estar vacio";
			}

		}


	//-->>
	</script>
	</head>
<body>
	<h2>datos personales<h2>
	<form name="formulario" method="post" onSubmit="return validar()">
	<input name="nombre" id="nombre" type="text">
								<script language="javascript">
								<!--
								document.write(error);
								//-->>
								</script>
	<input type="submit" value="enviar">
	</form>
</body>
  #2 (permalink)  
Antiguo 01/05/2011, 14:19
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 6 meses
Puntos: 1012
Respuesta: mensajes de validación

a mí la opción del bloque me parece acertada. solo que yo usaría span, también tiene algún inconveniente, pero bueno
  #3 (permalink)  
Antiguo 01/05/2011, 16:27
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 7 meses
Puntos: 344
Respuesta: mensajes de validación

El primero no te funcionaba porque el concepto no está bien.

El document.write que pones se ejecuta la primera vez que entras a la página web,
no cuando envias el formulario. Si lo que quieres es cambiar el html, tienes que utilizar las funciones javascript para el manejo del DOM.

Lo puedes hacer con javascript normal o utilizar un framework javascript como
JQuery: http://jquery.com/

Ejemplo en vivo en esta página: http://jsfiddle.net/alexg88/c2hYr/

y aquí:

Código HTML:
Ver original
  1.     <head>
  2.         <title>
  3.             validacion - formularios
  4.         </title>
  5.         <script type="text/javascript" src="http://code.jquery.com/jquery-1.5.2.js" />
  6.     <script language="javascript"> 
  7.         $("form[name='formulario']").submit(function(){
  8.  
  9.  if($("#nombre").val()=="")  
  10.  {
  11.      $('#nombre').after('<span class="error">Este campo no puede estar vacio</span>');    
  12.     return false;
  13.  }
  14. });
  15.    
  16.     </script>
  17.     </head>
  18.     <h2>datos personales<h2>
  19.     <form name="formulario" method="post">
  20.     <input name="nombre" id="nombre" type="text">                              
  21.     <input type="submit" value="enviar">
  22.     </form>
  23. </body>
  24. </html>

Espero que te sirva
  #4 (permalink)  
Antiguo 01/05/2011, 17:16
Avatar de fodsite  
Fecha de Ingreso: agosto-2005
Ubicación: Talca
Mensajes: 20
Antigüedad: 19 años, 3 meses
Puntos: 3
Respuesta: mensajes de validación

Te recomiendo que uses el plugin de jQuery jquery.validate.js, es sencillo de usar. Te dejo el link directamente con los ejemplos, espero te sirva.

http://jquery.bassistance.de/validate/demo/
  #5 (permalink)  
Antiguo 19/05/2011, 05:41
Avatar de kanalejana  
Fecha de Ingreso: agosto-2009
Mensajes: 23
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: mensajes de validación

Cita:
Iniciado por fodsite Ver Mensaje
Te recomiendo que uses el plugin de jQuery jquery.validate.js, es sencillo de usar. Te dejo el link directamente con los ejemplos, espero te sirva.

http://jquery.bassistance.de/validate/demo/
A mi ese tutorial lo único que ha hecho es hacerme perder el tiempo, pero encontre este otro: http://corpocrat.com/2009/07/15/quick-easy-form-validation-tutorial-with-jquery/ con el que si que e logrado hacer las validaciones. Ahora lo que me falta es cambiar el: Please enter at least 5 characters. o This field is required. al castellano.
Si alguien lo sabe que me busque y me lo diga

Saludos \o/
  #6 (permalink)  
Antiguo 19/05/2011, 07:47
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 19 años
Puntos: 87
Respuesta: mensajes de validación

Es pasandole los mensajes al invocarlo, asi:

Código Javascript:
Ver original
  1. var validator = $("#signupform").validate({
  2.         rules: {
  3.             nombre: "required"
  4.         },
  5.         messages:{
  6.             nombre: "Olvido escribir su nombre"
  7.         }
  8. })


Y ese link (http://jquery.bassistance.de/validate/demo/) junto los ejemplos que tiene abajo son los mejores tutos sobre el plugin; esto lo aprendí fue hay.
  #7 (permalink)  
Antiguo 19/05/2011, 10:04
Avatar de kanalejana  
Fecha de Ingreso: agosto-2009
Mensajes: 23
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: mensajes de validación

ya lo se :( pero no consegui sacar nada en claro, se que lo que uso ahora no es ninguna maravilla, pero weno... para salir del paso me vale que lo necesito para ayer :/
Era por ayudar...
  #8 (permalink)  
Antiguo 19/05/2011, 10:09
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 13 años, 7 meses
Puntos: 343
Respuesta: mensajes de validación

Uds piensan que incluir una librería como jQuery solo para validar un formulario tiene sentido?
__________________
blog | @aijoona
  #9 (permalink)  
Antiguo 19/05/2011, 12:46
 
Fecha de Ingreso: mayo-2011
Mensajes: 15
Antigüedad: 13 años, 7 meses
Puntos: 2
Respuesta: mensajes de validación

En header:
Cita:
<script type="text/javascript" language="javascript" src="funciones.js"> </script>
En funciones.js
Cita:
function validar_inicio_sesion (formulario)
{
var usuario = formulario.usuario.value;
var pass = formulario.pass.value;

if (pass != "")
{
if (usuario != "")
{
formulario.submit();
}
else
{
document.getElementById('notice_usuario').innerHTM L="<img src=images/notice-trans.png> Debes introducir tu nombre de usuario.";
}
else
{
document.getElementById('notice_password').innerHT ML="<img src=images/notice-trans.png> Debes introducir tu contraseña.";
}
}
En el archivo .php / .html
Cita:
<form name="iniciar_sesion" method="post" action="validar_inicio_sesion.php">

Usuario:<input type="text" name="usuario" /> <div id="notice_usuario" class="notice"> </div>

Contraseña:<input type="password" name="pass" /> <div id="notice_password" class="notice"> </div>

<input type='button' name='Iniciar_sesion' value='Iniciar sesion' onClick="validar_inicio_sesion(this.form)" />
</form>
Espero te sirva!
  #10 (permalink)  
Antiguo 19/05/2011, 13:31
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 6 meses
Puntos: 1012
Respuesta: mensajes de validación

me sorprende observar como la gente se afana en responder a un tema en el que el propio interesado no ha dado señal, de ningún tipo, desde hace casi 20 días

Etiquetas: mensajes, validar
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 20:15.