Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > HTML, Javascript y otros
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-06-2005
Avatar de marto
marto marto is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona, Catalunya
Posts: 882
Poder: 22
marto Va por buen camino
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:
Empezado por roman
Claro que esto sólo sirve para validaciones sencillas aunque yo normalmente es lo que necesito ya que las validaciones complejas se hacen del lado del servidor.
para solucionar este problema, yo trabajo con otro atributo especial _onValidate, que retorna true si va bien y false si va mal. Entonces tu función check_control, quedaria así:

Código PHP:
function check_control(control)
{
  if (!
control.getAttribute('caption'))
    
control.caption control.name;

  
ok =
    
check_empty(control) &&
    
check_length(control) &&
    
check_format(control) &&
    ( 
       (!
control.getAttribute("_onValidate") || 
       (
control._onValidate()) 
    );

  return 
ok;

__________________
E pur si muove
Responder Con Cita
  #2  
Antiguo 12-06-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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:
Empezado por marto
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.
Oye, ¿y esto no podrías manejarlo únicamente con algo como check_format?

// Saludos
Responder Con Cita
  #3  
Antiguo 12-06-2005
Avatar de marto
marto marto is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona, Catalunya
Posts: 882
Poder: 22
marto Va por buen camino
Cita:
Empezado por roman
Hola marto,
Oye, ¿y esto no podrías manejarlo únicamente con algo como check_format?
// Saludos
En realidad, sí... pero así te ahorras más código. Si en el atributo me dices que es currency me estás diciendo el formato y también el mensaje de error error. Además, en realidad esto forma parte de un framework más grande desarrollado en java. Uso tags jsp personalizados, y es ahi donde le digo el tipo de datos, y el framework tambien me genera el onBlur en función del tipo. Lo que sucede es que la parte javascript del framework es independiente de la parte java y al revés
__________________
E pur si muove
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 08:21:38.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi