FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Saber si existe una variable
Esto me da vergüenza preguntarlo pero llevo toda la mañana buscando y no he encontrado nada.
¿Cómo puedo saber en JavaScript si una variable existe o no? Algo así como el equivalente a isset de PHP. // Gracias |
#2
|
||||
|
||||
Bah! Parece que esto no es posible en javascript, lo cual es sorprendente en un lenguaje interpretado. La única forma que funciona es con sentencias try-catch:
Código PHP:
Afortunadamente, más que para una variable suelta yo lo quería para propiedades de objetos (pensé que sería lo mismo) y en ese caso sí se puede: Código PHP:
Como me harta estar escribiendo funciones para validar formularios hice resumen de lo que generalmente necesito al momento de validar un control: 1. Checar que se haya llenado el dato 2. Checar que tenga la longitud adecuada 3. Checar que tenga el formato correcto En cada caso, si algo está mal hago algo similar a esto: Código PHP:
Para la validación tengo que checar que 1. control.value no sea una cadena vacía 2. ereg.exec(control.value) no sea false 3. control.value.length coincida con la longitud esperada Aquí ereg es una expresión regular para checar el formato, por ejemplo: /[0-9]{4}-[0-9]{2}-[0-9]{2}/ checa que una fecha tenga el formato aaaa-mm-dd (más o menos). Entonces, lo único que se requiere son cuatro cosas: 1. Mensaje a mostrar en caso de error 2. Saber si el dato es requerido o no 3. Expresión regular para checar el formato 4. Longitud esperada En JavaScript podemos asignar propiedades nuevas a objetos: Código PHP:
Para, por ejemplo, checar el formato usaríamos esta función: Código PHP:
Como todas las funciones necesitan de la propiedad 'caption' para mostrar el mensaje de error, agrupo todas las verifiicaciones en esta función: Código PHP:
Código PHP:
Código PHP:
// Saludos |
#3
|
||||
|
||||
Hola roman
Para saber si una variable JavaScript existe, peudes usar esto: Código PHP:
__________________
Lo importante no es saber, sino tener el e-mail del que sabe. |
#4
|
||||
|
||||
Gracias JavierB. Lo he probadoy funciona bien. También me he dado cuenta que funciona así:
Código PHP:
// Saludos |
#5
|
||||
|
||||
Hola de nuevo.
Con tu código me da error: 'foo' no está definido Saludos,
__________________
Lo importante no es saber, sino tener el e-mail del que sabe. |
#6
|
||||
|
||||
Gracias Javier.
En efecto marca ese error. Yo creo que de tantas pruebas que hice me confundí o no sé. Me quedo con el typeof. // Saludos |
#7
|
||||
|
||||
Yo utilizo algo similar para validar mis formularios web. Me he hecho una API bastante completa, un dia de estos la subo, lo que pasa es que aun no esta "presentable".
Yo añado alguna cosa mas, como por ejemplo poner en los inputs un atributo de tipo "_tipo" en la que marco tipos con validaciones y mensajes genéricos, integer, float, currency, etc. Cita:
Código PHP:
__________________
E pur si muove |
#8
|
||||
|
||||
Hola marto,
De hecho he visto algo de lo que has hecho y me pareció muy interesante aunque es raro que yo haga validaciones en función del tipo de datos; por ello es que me enfoqué más en check_empty, check_format, check_length y curiosamente acabo de agregar hace unos días el check_custom para validaciones personalizadas. Además de eso uso propiedades como displayName - nombre a usar en mensajes de error (por defecto el nombre del control) hint - cadena que se escribe automáticamente en el control cuando está vacío y estamos fuera de él (p. ej. para mostrar en qué formato debe escribirse una fecha) Además asigno eventos onfocus y onblur genéricos para cambiar el fondo de un control cuando entramos a él. Realmente no sé por qué no había hecho esto antes ya que el trabajo que uno se ahorra es bestial. Cita:
// Saludos |
#9
|
||||
|
||||
Cita:
__________________
E pur si muove |
|
|
|