Esta entrada es para mostrarte un ejemplo del uso de la librería, un formulario en este caso que requiere
de ciertas validaciones antes de ser procesado. Para entenderlo necesitas conocimientos básicos en PHP
y CSS.
Si quieres ver como quedará nuestro formulario con validaciones c c al final, haz clic aquí
Te recomiendo que leas la entrada de presentación de XAJAX, en ella encontraras un ejemplo básico del
uso de la librería debidamente comentada.
Ya deberías haber descargado la librería y tenerla lista para usar, si no lo has hecho, sigue los siguientes
pasos:
Son varios los archivos que usaremos aparte de la librería, te dejo el cómo quedara el árbol de directorio
al final.
Para éste ejemplo dispondremos de un formulario el cual necesita de una serie de validaciones antes de
que los datos puedan ser procesados. Se han seleccionado las validaciones comunes, tales como:
: este campo solo acepta letras de la a la sea mayúscula o minúscula, espacios y
guiones.
solo acepta números y está comprendido por una longitud que va de uno a ocho
dígitos.
! la dirección de correo electrónico debe cumplir el formato: Id_cuenta [arroba] dominio [punto]
algo.
""
el password o contraseña debe ser mayor a cinco (5) caracteres y menor que veinticinco (25).
#
$ ""
estos dos campos son solicitados nuevamente para asegurarnos
de que el usuario no se equivoca al escribirlos anteriormente mientras se completa el formulario.
- Comencemos con el archivo que contiene el estilo de los campos y los elementos div, su nombre es
""%
""" (recuerda que este va dentro de la capeta
).
&'
"
$(
?
1
2 !
3
" #
4
5 "$
#
6 "$
#
ù "$
%&'(#
8 "$
%&'(#
9 " #
10)"(*
#
11+ "%,(#
12
-
13
14.
15!
16
" #
1ù "#
18 "$
%&&&#
19/"0&&
#
20+ "%1#
21-
222
23
!
24
25
"#
26 " #
2ù)"($
#
28-
293
30!
31 "+#
)"($
#
/"#
-
No hay mucho que explicar, solo acotar que usaremos un elemento para detallar los errores de
manera global y otros que indicaran el campo exacto afectado.
Para incluir el "%
"" en el proyecto solo pega la siguiente linea entre la etiqueta ) *+) *+ de
nuestro %, (el código de este archivo lo veremos mas adelante).
?
1+ 455 455 6
- El siguiente archivo es el que contiene las funciones generales, cabe acotar que la decisión de usar
funciones se toma cuando es necesario usar el mismo proceso una y otra vez, de esta manera se
simplifica código y se reusa otro ;)
El nombre del archivo es "%," y las funciones son las siguientes:
&'
"
$(
?
1
2
3 667
4 897:3
5 !
6
ù 66
8 :3; :3
(&&
9 <2 =
7 6
10;
11
(&&<#
12
13!
14 > 56?@ )AB&,CDEFGG@ )AB&,
15CDEFHIF@ )AB&,
16EFGGH@)AB&,E!$J(&&-GG@)ABE!$JK-:65J:3
1ù
<7
7 6
18
19
9@ E@E6
J
20"
I6
<" #
21-
22-
23
24668 A
25
26 893 :3J:3
2ù!
28
> 56?@A B
29
30) DLMNOPQRSTUCV=WXYZ[\ G<GEH:65J:3
31 57
:36
32 JJ
33= JV J5#
34 :3$ :3
*&
35 57
:36
36
3ù *& 5#
38
39
#
40
41-
42
436639
44 8939:39
45!
46 > :39
4ù <7
3V96
48W <#
49 :39J&J(44&
50 <2
3V96
)
51
&<#
52
53 :39
;
54 <2
3V96
55;<#
56
5ù #
58-
59
6066/ K
$&
61 89]/ :3
62
!
63
64 > :3
65 <^
V 6
6W
/ <#
:34' :3
$'
<7]/ '
$' <#
#
-
66
897:_3(J:_3$J:38
!
:_3( >4:_3$
57
:386
` 5"#
-
" -. recibe como parámetro una dirección de E-mail que se compara luego haciendo uso de
expresiones regulares para descartar caracteres no válidos.
"
-. recibe como parámetro la cadena a validar y el nombre del campo al cual pertenece, a
parte de restringir la longitud del nombre o apellido, se usan tambien expresiones regulares para exigir
que solo se usen caracteres alfabéticos, guiones y espacios.
"-. la cédula de identidad es un código único compuesto por una cadena de números con longitud
de 1 a 8. El número de CI. no puede ser o comenzar por cero (0). Se hace uso de la función
(
para restringir a dígitos la cadena a tratar.
"""
-. se valida solo la longitud del password el cual debe estar entre 6 y 25 caracteres
(recordar que esto es un ejemplo y que el limite lo colocas tú).
" &-. recibe como parámetro tres argumentos y dos de ellas son cadenas la cual compara, si son
iguales devuelve false, si son diferentes devuelve true.
- Se ha preferido que cada función devuelva un mensaje de advertencia si los datos son incorrectos y
#" si es lo contrario.
- Es como cuando te preguntan ¿la mesa es cuadrada? tu respondes SI afirmando que SI lo es.
- Si te preguntaran ¿La mesa NO es cuadrada? si respondes SI estas afirmando que NO es cuadrada.
El siguiente archivo es quien contiene lo mas interesante para este caso, la interacción con el objeto
c c. El archivo se llama "%," y el código es el siguiente:
/%! Lo primero es incluir la clase XAJAX y el archivo que contiene las funciones generales:
?
166
2 5
6
6
5#
3
4669
5 55#
K%! Creamos las funciones que asociaremos con el objeto, para el ejemplo se han creado dos, una que
gestiona el formulario (validando y mostrando los mensajes de error según sea el caso) y otro que se
encarga de procesarlo (verificar que todo va bien y almacenar los supuestos datos):
Esta función recibe como parámetro un array con los valores de los campos y el nombre del campo
exacto a validar, puede ser llamada con cualquier evento (se explica mas adelante).
- Lo primero que hace es capturar el valor del campo y luego verificar si es un campo de confirmación.
- Luego se hace el llamado a las funciones que van a validar cada campo según sea el caso.
- En la variable "±"1" 2" vamos almacenando el retorno de las funciones, si esa variable tiene como
valor "#"" se le asigna a la variable "±"(" el valor "correcto", en caso contrario se asigna "incorrecto".
- Se arma el contenido que ira a los elementos Div.
- Se crea una nueva instancia para generar la respuesta con Ajax.
Nota:
1 ""( este método funciona igual que si aplicaras en 3
:
"
%( 4-55.%
61789
"9:"
- Asignamos a los elementos los valores que corresponda, notar que al 2 se le asigna el valor
de la variable mensaje global si esta contiene un valor diferente de false, de lo contrario se asigna nada.
?
1:`
5:35J< d.b2<J:d.b2b2#
2:`
< <J< d.b2<J
3>>:b :d.b2b "<<#
En ella se recibe como argumento un arreglo con los valores de los campos.
- Luego de crear la instancia para generar la respuesta con xajax, se valida cada cambio llamando a las
funciones correspondientes.
- Si hay algún campo sin validar se muestra un mensaje usando el método
, de lo contrario ya se
pueden almacenar datos, sea en una DB, archivo plano, etc.
- Se muestra un mensaje informando al usuario de que todo se ha realizado satisfactoriamente.
- Se limpian los campos: se ha usado el método
para ello.
Nota:
1
permite limpiar determinado elemento, recibe como argumento:
a- Id del elemento a limpiar.
b- propiedad involucrada.
Para este caso como son varios campos se ha decidido usar un ciclo/bucle for y el llamado al método se
hace uno detrás del otro:
?
1:`
2
<
<:A 3@:EJ<<
3
<<:A 3@:EJ< d.b2<#
Lo que es igual a:
?
1:`
<
<:A 3@:EJ<<#
2:`
<<:A 3@:EJ< d.b2<#
o%! Una vez has desarrollado las funciones a usar con el objeto XAJAX, hay que registrarlas:
?
:
a<a b <#66
1
2:
a<a ] <#66
(0
?" este método recibe el identificador/Id del formulario del cual se desea obtener los datos
y devuelve un arreglo con los datos de dicho form.