Foros del Web » Programando para Internet » Javascript »

alquien me puede explicar esto en Javascript?

Estas en el tema de alquien me puede explicar esto en Javascript? en el foro de Javascript en Foros del Web. mi duda es la siguiente respecto a validacion de elementos de un formulario. Encontre un codigo muy interesante para validar un campo text si esta ...
  #1 (permalink)  
Antiguo 05/04/2012, 20:47
 
Fecha de Ingreso: septiembre-2010
Mensajes: 7
Antigüedad: 13 años, 6 meses
Puntos: 0
alquien me puede explicar esto en Javascript?

mi duda es la siguiente respecto a validacion de elementos de un formulario.
Encontre un codigo muy interesante para validar un campo text si esta vacio o no.
el codigo es el siguiente:
function vacio(q) {
for ( i = 0; i < q.length; i++ ) {
if ( q.charAt(i) != " " ) {
return true
}
}
return false
}
function valida(F) {

if( vacio(F.campo.value) == false ) {
alert("Introduzca un cadena de texto.")
return false
} else {
alert("OK")
return true
}

el codigo funciona perfectamente sin ningun error. Ahora mi pregunta es .
Cuales son las razones del porque no utilizar este codigo ?

function valor(){
valor=F.campo.value;
if(valor==""){
alert('no hay valor');
}else {
alert('el valor es: '+valor);
}

}
La diferencia esta en el IF que se compara con un espacio vacio.
que tambien me ha funcionado igual que el primero.
quiera que me ayudaran con esta duda ?
  #2 (permalink)  
Antiguo 05/04/2012, 21:51
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: alquien me puede explicar esto en Javascript?

¡buenas!
ambas formas tienen defectos. la función vacio está mal diseñada porque devuelve true en el primer carácter que no sea un espacio y no revisa las demás. la función valor tiene el fallo de solo revisar si el string es uno vacío. en este segundo caso, imagina que el usuario introduce sólo espacios. entonces, un string compuesto de espacios es diferente de un string vacío. el defecto que ambas funciones tiene es que no se determina de qué debe consistir el string. por ejemplo, un campo para introducir nombre con esa validación pasa la prueba con un string "~!@#$%^&". evidentemente no es un nombre válido. en la mayoría de los casos una validación correcta se realiza verificando la lontigud del string (una cantidad exacta o mínima) y que los caracteres estén compuesto por un rango definido. por ejemplo, solo letras y números, solo números, o solo letras u otra combinación que sea adecuada para el valor que se espera.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 09/04/2012, 08:45
 
Fecha de Ingreso: septiembre-2010
Mensajes: 7
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: alquien me puede explicar esto en Javascript?

Cita:
Iniciado por zerokilled Ver Mensaje
¡buenas!
ambas formas tienen defectos. la función vacio está mal diseñada porque devuelve true en el primer carácter que no sea un espacio y no revisa las demás. la función valor tiene el fallo de solo revisar si el string es uno vacío. en este segundo caso, imagina que el usuario introduce sólo espacios. entonces, un string compuesto de espacios es diferente de un string vacío. el defecto que ambas funciones tiene es que no se determina de qué debe consistir el string. por ejemplo, un campo para introducir nombre con esa validación pasa la prueba con un string "~!@#$%^&". evidentemente no es un nombre válido. en la mayoría de los casos una validación correcta se realiza verificando la lontigud del string (una cantidad exacta o mínima) y que los caracteres estén compuesto por un rango definido. por ejemplo, solo letras y números, solo números, o solo letras u otra combinación que sea adecuada para el valor que se espera.
Gracias amigo por tu respuesta , te agradesco. Ahora ya logre entender mucho mejor. Saludos

Etiquetas: html
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 22:46.