Crear una página ASP - Validar los datos de los formularios

11 - Validar los datos de los formularios

[editar]
Tutorial creado por UnedHistoria. Extraido de: http://www.zonagratuita.com
30 de Noviembre de 1999
Un formulario Web bien diseñado suele incluir una secuencia de comandos del cliente que valida los datos proporcionados por el usuario antes de enviar la información al servidor. Las secuencias de comandos de validación pueden comprobar si el usuario escribió un número válido o si un cuadro de texto está en blanco. Imagine que su sitio Web incluye un formulario que permite calcular la tasa de retorno de una inversión. Probablemente querrá comprobar si un usuario realmente escribió texto o números en los campos apropiados del formulario, antes de enviar al servidor información que podría no ser válida.
En general, lo mejor es realizar en el cliente tantas comprobaciones como sea posible. Además, de poder preguntar antes al usuario por los errores, la validación en el cliente mejora el tiempo de respuesta, reduce la carga del servidor y libera ancho de banda para otras aplicaciones.


La siguiente secuencia de comandos del cliente valida los datos escritos por el usuario (en este caso, la secuencia de comandos determina si el número de cuenta que escribió el usuario es realmente un número) antes de enviarlos al servidor:
<SCRIPT LANGUAGE="JScript">
function ComprobarNumero()
{
if (isNumeric(document.UserForm.AcctNo.value))
return true
else
{
alert("Escriba un número de cuenta válido.")
return false
}
}
Función para determinar si el valor del formulario es un número.
Nota: El método isNaN JScript es un método más elegante para determinar si
un valor no es un número. Sin embargo, algunos exploradores no admiten este método.
function isNumeric(str)
{
for (var i=0; i < str.length; i++)
{
var ch = str.substring(i, i+1)
if( ch < "0" || ch>"9" || str.length
null)
{
return false
}
}
return true
}
</SCRIPT>
<FORM METHOD="Get" ACTION="balance.asp" NAME="FormularioUsuario" ONSUBMIT="return
CheckNumber()">
<INPUT TYPE="Text" NAME="NumCuen">
<INPUT TYPE="Submit" VALUE="Enviar">
</FORM>

Sin embargo, si la validación de un formulario requiere el acceso a una base de datos debe considerar la utilización de la validación del formulario en el servidor. Una forma muy útil de realizar la validación en el servidor es crear formularios que se envíen la información a sí mismos. Es decir, el archivo .asp contiene en realidad el formulario HTML que recibe los datos del usuario. (Recuerde, puede utilizar ASP para interactuar con secuencias de comandos del cliente y código HTML. Para obtener más información, consulte Interactuar con secuencias de comandos del cliente.) Los datos escritos vuelven al mismo archivo, que se encarga de validar la información y avisa al usuario si éstos no son correctos.
Mediante este método se pueden mejorar las características de uso y la respuesta de los formularios basados en Web. Por ejemplo, si se incluye información del error junto al campo del formulario en el que se escribió la información incorrecta, será más fácil para el usuario descubrir el origen del error.
(Normalmente, los formularios basados en Web reenvían las peticiones a una página Web
independiente que contiene información del error. Los usuarios que no comprendan esta información podrían sentirse frustrados.)
Por ejemplo, la secuencia de comandos siguiente determina si un usuario escribió un número de cuenta válido, para lo que se envía la información a sí misma (Verify.asp) y llama a una función definida por el usuario que realiza una consulta a una base de datos:
<%
strAcct = Request.Form("Cuenta")
If Not AccountValid(strAcct) Then
ErrMsg = "<FONT COLOR=Red>El número de cuenta que ha escrito no es válido.</FONT>"
Else
Procesa los datos del usuario
.
.
.
Server.Transfer("Complete.asp")
End If
Function AccountValid(strAcct)
Aquí se incluirá una secuencia de comandos o una llamada a un método de un componente de
conexión con una base de datos.
End Function
%>
<FORM METHOD="Post" ACTION="Verify.asp">
Número de cuenta: <INPUT TYPE="Text" NAME="Cuenta"> <%= ErrMsg %> <BR>
<INPUT TYPE="Submit">
</FORM>


En este ejemplo, la secuencia de comandos se encuentra en un archivo llamado Verify.asp, el mismo archivo que contiene el formulario HTML y, para enviarse la información a sí mismo, especifica Verify.asp en el atributo ACTION.
Importante Si utiliza JScript para la validación en el servidor, asegúrese de colocar un par de
paréntesis vacíos detrás del elemento de la colección Request (QueryString o Form) al asignar la
colección a una variable local. Sin el paréntesis la colección devolverá un objeto en lugar de una
cadena. La secuencia de comandos siguiente muestra el método correcto para asignar variables con JScript:---<%---var Nombre = Request.Form("Nombre")();
var Contraseña = Request.Form("Contraseña")();
if(Nombre > "")
{
if(Nombre
Contraseña)
Response.Write("El nombre y la contraseña son iguales".)
else
Response.Write("El nombre y la contraseña son diferentes".);
}
%>

VBScript presenta el mismo comportamiento si la colección contiene varios valores separados por comas o con los que se pueda crear un índice. Esto significa que tanto para VBScript como para JScript, además de colocar un par de paréntesis detrás del elemento de la colección Request, necesitará especificar el índice del valor deseado. Por ejemplo, la siguiente línea en JScript devuelve sólo el primero de los varios valores de un elemento de un formulario:
var Nombre = Request.Form("Nombre")(1);
[editar]

18 opiniones

b

b
LOS CORNUDOS!

QUIEREN SABER SI SON CORNUDOS?
kj

<=y>
Principiante.

Estoy aprendiendo acrear aplicaciones en asp. Net y se me hace complicado. Necesito un manual. Puenden ayudarme
tengo 17 años.
Uso de campo con varias lineas.

(asp) un campo de direccion del cliente
tiene varias lineas : 4 lineas de 25
caracteres cada una. Si tecleo lotes de letras de cuatro asi:
a b c v
si le doy enter, se cae la pagina que lo va a
incluir en un recordset. Cuando no le doy enter si funciona. Le agradezco si me pueden orientar sobre este detalle.
1 2 3 4 | siguiente >

Tutoriales relacionados con 'Crear una página ASP'

ASP (Active Server Pages) es la tecnología para la creación de páginas dinámicas del lado... Más »
Active Server Pages (ASP), es una tecnología propietaria de Microsoft. Se trata básicamente de un... Más »
Debian es el nombre de una organización dedicada al desarrollo y mantenimiento de sistemas operativos... Más »
En muchos foros y cosas similares he visto muchas consultas sobre cómo montar servidores de... Más »
Este documento describe el soporte de sonido para Linux. Enumera el hardware de sonido soportado,... Más »

Autor y licencia de 'Crear una página ASP'


Tutorial de UnedHistoria. Extraido de: http://www.zonagratuita.com CopyLeft
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.