En el enfoque utilizado, la página Web comienza definiendo una biblioteca de útiles llamada
FormCheq.js, (esta biblioteca es la simplificación de una biblioteca hecha por Eric Krock, de Netscape).
Una vez cargada esta biblioteca, se encuentran definidas una serie de funciones, las más importantes son las que siguen.
La mayoría de las funciones están explicadas en la
de FormCheq.js. [utilice "Grabar destino como ..." o "Save link as ..." para bajar este archivo, o el browser intentará ejecutar la aplicación javascript]
isAlphabetic(string) Retorna verdadero si y solo sí el contenido de string sólo está compuesto por letras (mayúsculas o minúsculas, caracteres españoles incluídos)
isAlphanumeric(string) Retorna verdadero si y solo sí el contenido de string sólo está compuesto por letras (mayúsculas o minúsculas, caracteres españoles incluídos) o números
isName(string) Retorna verdadero si y solo sí el contenido de string sólo está compuesto por letras (mayúsculas o minúsculas, caracteres españoles incluídos), números o espacios en blanco
isInteger(string) Retorna verdadero si y solo sí el contenido de string representa un número entero, con o sin signo
isNumber(string) Retorna verdadero si y solo sí el contenido de string representa un número entero o decimal, con o sin signo
isEmail(string) Retorna verdadero si y solo sí el contenido de string tiene la forma de una dirección de correo electrónica válida
isPhoneNumber(string) Retorna verdadero si y solo sí el contenido de string tiene la forma de un número de teléfono válido (se aceptan números, paréntesis, guiones y espacios)
Existe una variable global, llamada
defaultEmptyOK, de tipo
boolean, que indica si está bien o no que los campos de ingreso se encuentren vacíos.
Este comportamiento puede ser cambiado sobre la marcha pasando un segundo argumento opcional
eok - empty OK a las funciones antes descritas.
Ejemplo: si
defaultEmptyOk = true, entonces
isAlphabetic( "abc" ) = true
isAlphabetic( "abc", true ) = true
isAlphabetic( "abc", false ) = true
isAlphabetic( ) = true (defaultEmptyOK)---isAlphabetic( , true ) = true
isAlphabetic( "", false ) = false
La función
checkField() es la función que se utiliza en definitiva para la validación del formulario. Su sintaxis es muy simple:
checkField( Referencia_al_campo_de_datos, Funcion_de_verificacion )
Por ejemplo:
<input name=nombre onChange=checkField(this,isName)>
Esta función verifica el campo indicado, si está mal notifica al usuario, y pone el cursor en ese campo. El mensaje desplegado está en el código de la biblioteca de funciones usada.
Se puede utilizar una función cualquiera para verificar, lo importante es que si esta función retorna false, entonces se reclamará al usuario. También se encuentran disponibles dos parámetros opcionales, que indican si se tolera o no un campo vacío y cual es el mensaje a desplegar.
Por ejemplo:
<input name=nombre onChange="checkField(this,isName,true,'ingrese su nombre, solo letras van aqui')">
Copie
FormCheq.js a su computador (puede utilizar también
, que tiene un montón de comentarios explicativos.
[utilice "Grabar destino como ..." o "Save link as ..." para baj ar este archivo, o el browser intentará ejecutar la aplicación javascript]
Para utilizarlo en una página ponga lo siguiente en el encabezado del documento:
<script language=javascript>
... (todo el texto de FormCheq.js ) ...
</script>
Ahora está listo para utilizar las funciones, tal como está descrito más arriba. Le pido como un favor especial que, si bien puede modificar el script para ajustarlo a sus necesidades, no quite el aviso que está al comienzo.
En Netscape4.0 o Explorer4.0 o superior, se puede hacer también:
<script language=javascript src=FormCheq.js></script>
Que resulta mucho más cómodo. Las constantes como mensajes y el defaultEmptyOK están definidas al comienzo del archivo.
También pruebe a comenzar con el
ejemplo y luego modificarlo de acuerdo a sus necesidades. Nóte que para enviar un formulario el método es, en el caso del ejemplo:
document.myform.submit(), esto debería reemplazar el
alert("Todo verificado").
Está disponible desde acá la distribución del validador de formularios original
formval1.0.zip, que incluye validación, por ejemplo, de tarjetas de crédito. Si bien el código es más complejo, la lógica es la misma que en el esquema mostrado acá.
Gordon McComb desarrolló el siguiente
verificador de formularios por formato que permite verificar si un string cumple o no con un cierto formato.
La versión desarrollada por Netscape para JavaScript 1.2 está basada en
expresiones regulares.
Entre las rutinas de FormCheq está incluída una llamada
isNice que verifica que los campos no utilicen comillas simples o dobles, cuestión que generalmente resulta muy problemática cuando se trabaja con bases de datos.
¡ Suerte !