Foros del Web » Programando para Internet » Javascript »

Validaciones JavaScript

Estas en el tema de Validaciones JavaScript en el foro de Javascript en Foros del Web. Buen dia a todos, tengo una pregunta. Tengo una pagina web con 4 campos de texto donde necesito obligatoriamente que si no esta un campo ...
  #1 (permalink)  
Antiguo 25/07/2013, 17:20
 
Fecha de Ingreso: octubre-2011
Mensajes: 2
Antigüedad: 12 años, 6 meses
Puntos: 0
Validaciones JavaScript

Buen dia a todos, tengo una pregunta. Tengo una pagina web con 4 campos de texto donde necesito obligatoriamente que si no esta un campo (Llamemosle campo id) sea necesario ingresar 2 campos cuales quiera de los 3 restantes. Basicamente si pongo el campo id no es necesario llenar el resto de los campos de lo contrario tengo que llenar al menos dos.

Estaba pensando en algo como:

if(id!="")
{return true}
else if (nombre!="" && apellido!="")
{return true}
else
return false

Y asi en lo sucesivo hasta llegar al else hacer mezcla de todas las posibles opciones o alguien me puede ofrecer una idea mas eficiente.

De antemano les agradezco y debo destacar que soy novato en esto del web cualquier sugerencia es bienvenida.
  #2 (permalink)  
Antiguo 25/07/2013, 18:35
Avatar de Nass  
Fecha de Ingreso: julio-2013
Ubicación: madrid
Mensajes: 34
Antigüedad: 10 años, 9 meses
Puntos: 2
Respuesta: Validaciones JavaScript

Buenas Dark_Slash, la idea que expones tiene buena lógica pero según he leído por hay en tutoriales, validar un campo vacío como lo estas haciendo daría errores a causa de if(id!=""), según he visto no puedes validar con las comillas simples sino que la forma de validarlo sería con un length, un ejemplo sería este: if(crearAnuncio.ciudad.value.length==0 ), donde crearAnuncio es el nombre que le he dado a mi formulario, donde ciudad es el nombre que le he dado a mi caja de texto (input, le he llamado ciudad al name y a la id ciudad) y con el length me parece que cuenta los carácteres, el if pregunta si es igual a cero y ahí es donde pondrás la condición que quieras.

Espero que esto te sirva de algo y si me equivoco en algo que algo me corrija, un saludo.
  #3 (permalink)  
Antiguo 25/07/2013, 18:36
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Validaciones JavaScript

Hola,

Básicamente si ID está vacío entonces cuenta la cantidad de campos vacíos, si la cantidad de campos vacíos es mayor que 2 entonces regresa falso, en cualquier otro caso regresa verdadero.

Código Javascript:
Ver original
  1. if (id == "") {
  2.   i = 0;
  3.   if (nombre1 == "") i++;
  4.   if (nombre2 == "") i++;
  5.   if (nombre3 == "") i++;
  6.   if (i > 2) return false;
  7. }
  8. return true;

Si hay muchos campos crea un ciclo que llame una función para incrementar el valor de i con un parámetro a dicha función para conocer el campo. Por cierto, es un algoritmo o pseudo-código.

Saludos,
  #4 (permalink)  
Antiguo 25/07/2013, 18:38
Avatar de Nass  
Fecha de Ingreso: julio-2013
Ubicación: madrid
Mensajes: 34
Antigüedad: 10 años, 9 meses
Puntos: 2
Respuesta: Validaciones JavaScript

Si pero que yo sepa en Javascript no puede validar si un campo está vacío con las comillas no? tendría que usar length..no?
  #5 (permalink)  
Antiguo 25/07/2013, 18:49
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Validaciones JavaScript

Hola,

Cita:
Iniciado por Nass Ver Mensaje
Si pero que yo sepa en Javascript no puede validar si un campo está vacío con las comillas no? tendría que usar length..no?
Seguramente que sí, pero me imaginé que solamente quería el concepto, es decir, así como lo escribió y como yo lo modifique creo que solo funciona en IE. Juntando el concepto que mostraste y la lógica que mostré yo, seguramente podrá resolver el problema fácilmente.

Saludos,
  #6 (permalink)  
Antiguo 25/07/2013, 19:00
Avatar de Nass  
Fecha de Ingreso: julio-2013
Ubicación: madrid
Mensajes: 34
Antigüedad: 10 años, 9 meses
Puntos: 2
Respuesta: Validaciones JavaScript

asi es, esperamos haberte ayudado con tu problema.

Un saludo.
  #7 (permalink)  
Antiguo 25/07/2013, 21:59
 
Fecha de Ingreso: octubre-2011
Mensajes: 2
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Validaciones JavaScript

Gracias Nass y HackmanC. En realidad aun no he probado la solucion, sin embargo como bien dice HackManC no he verificado exactamente como validar lo de los campos vacios de momento solo es una idea la que expuse para comprobar primeramente que tan perdido andaba y segunda instancia a ver si uno de ustedes me ofrecia otra solucion mas "elegante", por cierto agradandome mucho la que expones HackmanC en una oportunida probare y cualquier duda supongo estare dando una vuelta por aqui. Otro detalle la funcion que comentas que me la imagino que tendria una estructura como:

function incrementa(nombre_campo)
{
if(nombrecampo=="")
i++;
return i;
}

El problema o la situacion como pueda conocer el nombre del campo a fin de identificarlo en el ciclo y otro detalle seria llevar el control de la variable de la funcion con respecto a la externa (seria una variable global, si no me equivoco). O a menos que este malinterpretando lo que me quieres decir. Estaria muy agradecido si me aclaras esto por favor ;)

Última edición por Dark_Slash; 25/07/2013 a las 22:09
  #8 (permalink)  
Antiguo 26/07/2013, 09:43
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Validaciones JavaScript

Hola,

Cita:
Iniciado por Dark_Slash Ver Mensaje
... Otro detalle la funcion que comentas que me la imagino que tendria una estructura como:

function incrementa(nombre_campo)
{
if(nombrecampo=="")
i++;
return i;
}

El problema o la situacion como pueda conocer el nombre del campo a fin de identificarlo en el ciclo y otro detalle seria llevar el control de la variable de la funcion con respecto a la externa (seria una variable global, si no me equivoco). O a menos que este malinterpretando lo que me quieres decir. Estaria muy agradecido si me aclaras esto por favor ;)
Básicamente la función debe recibir un parámetro, ya sea el elemento o un campo de texto con el ID del elemento para buscar, o cualquier otro método que te sea más fácil. Seguidamente si el elemento está vacío incrementas una variable global.

Posiblemente,

Código Javascript:
Ver original
  1. var c = 0;
  2. function incrementa(f) {
  3.   f = document.getElementById(f);
  4.   if (f.value.length == 0) c++;
  5. }

Y para contar los campos vacíos, posiblemente:

Código Javascript:
Ver original
  1. var d = ["campo1", "campo2", "campo3"];
  2. for (var i = 0; i < d.length; i++) {
  3.     incrementa(d[i]);
  4. }

Saludos,

Etiquetas: Ninguno
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 08:53.