Publicado el 13 de Agosto del 2018
751 visualizaciones desde el 13 de Agosto del 2018
457,2 KB
13 paginas
Creado hace 13a (20/09/2010)
Curso .NET con C#
Servicio de Informática
VALIDANDO CONTROLES DE ENTRADA DE FORMULARIOS .................................. 2
Tipos de Controles de Validación .............................................................................. 2
Validación del Lado Cliente ....................................................................................... 5
Mostrando Errores de Validación .............................................................................. 5
Trabajando con CompareValidator ............................................................................ 6
Trabajando con RangeValidator ................................................................................ 6
Trabajando con Expresiones Regulares .................................................................... 7
Realizando Validación Personalizada (CustomValidator) .......................................... 7
ValidateEmptyText ................................................................................................. 8
Validation Groups ...................................................................................................... 8
SetFocusOnError ...................................................................................................... 9
NAVEGACIÓN ............................................................................................................ 10
Ejercicios: ................................................................................................................ 12
Modulo 3 / Página 1
Curso .NET con C#
Servicio de Informática
ENTRADA DE
VALIDANDO CONTROLES DE
FORMULARIOS
El Framework de Formularios Web incluye un conjunto de controles de servidor de
validación que proporcionan una forma sencilla pero poderosa de comprobar los
formularios de entrada en busca de errores y, si es necesario, mostrar mensajes al
usuario.
Podemos "ligar" más de un control de validación a un control de entrada. Por ejemplo,
podríamos especificar tanto que un campo es obligatorio y que debe contener un
rango específico de valores.
Los controles de validación trabajan un limitado subconjunto de controles de servidor
HTML y Web. Para cada control, una propiedad específica contiene el valor que se
validará. La siguiente tabla muestra los controles de entrada que pueden ser
validados.
Control
Propiedad de Validación
HtmlInputText
HtmlTextArea
HtmlSelect
HtmlInputFile
TextBox
ListBox
DropDownList
RadioButtonList
FileUpload
Value
Text
SelectedItem.Value
FileName
Tipos de Controles de Validación
El formulario de validación más sencillo es un campo obligatorio. Si el usuario
introduce un valor en el campo, es válido. Si todos los campos de la página son
válidos, la página es válida.
<html>
<head>
<script language="C#" runat=server>
void ValidateBtn_Click(Object Sender, EventArgs E) {
if (Page.IsValid == true) {
lblOutput.Text = "Page is Valid!";
}
else {
Modulo 3 / Página 2
Curso .NET con C#
Servicio de Informática
lblOutput.Text = "Some of the req fields are empty";
}
}
</script>
</head>
<body>
<h3><font face="Verdana">Simple RequiredField Validator
Sample</font></h3>
<form runat="server">
<table bgcolor="#eeeeee" cellpadding=10>
<tr valign="top">
<td colspan=3>
<asp:Label ID="lblOutput" Text="Rellena los campos
siguientes " ForeColor="red" runat=server /><br>
</td>
</tr>
<tr>
<td align=right>
<font face=Verdana size=2>Card Type:</font>
</td>
<td>
<ASP:RadioButtonList id=RadioButtonList1 RepeatLayout="Flow"
runat=server>
<asp:ListItem>MasterCard</asp:ListItem>
<asp:ListItem>Visa</asp:ListItem>
</ASP:RadioButtonList>
</td>
<td align=middle rowspan=1>
<asp:RequiredFieldValidator id="RequiredFieldValidator1"
ControlToValidate="RadioButtonList1"
Display="Static"
InitialValue="" Width="100%" runat=server>*
</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td align=right>
<font face=Verdana size=2>Card Number:</font>
</td>
<td>
<ASP:TextBox id=TextBox1 runat=server />
</td>
<td>
<asp:RequiredFieldValidator id="RequiredFieldValidator2"
ControlToValidate="TextBox1"
Display="Static"
Width="100%" runat=server>*
</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td></td>
<td>
<ASP:Button id=Button1 text="Validate"
OnClick="ValidateBtn_Click" runat=server />
Modulo 3 / Página 3
Curso .NET con C#
Servicio de Informática
</td>
</tr></table>
</form>
</body>
</html>
También hay controles de validación para
tipos específicos de validación, cómo control
de rango o coincidencia con un patrón.
Nombre del Control
Descripción
RequiredFieldValidator
Asegura que el usuario no se deja un campo
CompareValidator
RangeValidator
Compara los datos que introduce el usuario con una
constante o el valor de una propiedad de otro control
mediante un operador de comparación (menor que,
igual que, mayor que, etc.).
Comprueba que la entrada del usuario se encuentra
entre un límite superior y otro inferior. Podemos
comprobar los rangos con parejas de números,
caracteres alfabéticos o fechas. Los límites se pueden
expresar como constantes.
RegularExpressionValidator Comprueba que la entrada sigue un patrón definido
como una expresión regular. Este tipo de validación
Modulo 3 / Página 4
Curso .NET con C#
Servicio de Informática
CustomValidator
nos permite comprobar secuencias predecibles de
caracteres, tales como números de seguridad social,
dirección de e-amil, números de teléfono, códigos
postales, etc.
Comprueba la entrada de usuario mediante lógica de
validación que hemos programado nosotros. Este tipo
de validación nos permite comprobar valores obtenidos
en tiempo de validación.
ValidationSummary
Muestra los errores de validación en un formulario
resumen para todos los validadores de la página.
Validación del Lado Cliente
Los controles de validación siempre realizan la comprobación de validación en el
servidor. También tienen una implementación completa en el cliente que permite a los
exploradores compatibles con DHTML realizar la validación en el cliente. La validación
en el cliente mejora el proceso de validación ya que se comprueban los datos
proporcionados por el usuario antes de enviarlos al servidor. De este modo se pueden
detectar los errores en el cliente antes de enviar el formulario y se evita la acción de
ida y vuelta de la información necesaria para la validación en el servidor.
Si cualquiera de los validadores encuentra un error, el envío del formulario al servidor
se cancela y se muestra la propiedad Text del validador.
Esto permite al usuario corregir la entrada antes de enviar el formulario al servidor. Los
valores de los campos se revalidan cuando el campo que contenía el error pierde el
foco, proporcionando así una experiencia rica e interactiva de validación al usuario.
El Framework de Páginas de Formularios Web siempre realiza la validación en el
servidor, incluso cuando ya se ha hecho en el cliente. Esto nos ayuda a impedir que
los usuarios puedan saltarse la validación haciéndose pasar por otro usuario o una
transacción previamente aprobada.
La validación del lado del cliente está permitida por defecto. Para deshabilitar la
validación del lado del cliente, estableceremos la propiedad ClientTarget de la página
a "Downlevel" ("Uplevel" fuerza la validación del lado cliente). De forma alternativa,
podemos establecer la propiedad EnableClientScript de un control de validación a
"false" para deshabilitar la validación del lado cliente para dicho control.
Mostrando Errores de Validación
Después de procesarse todos los controles de validación, la propiedad IsValid de la
página se establece; si alguno de los controles muestra un fallo de validación, la
página entera se marca como inválida (Page.IsValid).
Si un control de validación da un error, dicho control mostrará un mensaje de error en
la página o en un control ValidationSummary. El control ValidationSummary se
Modulo 3 / Página 5
Curso .NET con C#
Servicio de Informática
muestra cuando la propiedad IsValid de la página está establecida a "false". Sondea el
resto de controles de validación de la página y agrega el texto que cada uno muestra.
En el siguiente ejemplo vemos cómo mostrar errores con un control
ValidationSummary.
<asp:ValidationSummary ID="ValidationSummary1" runat="server"
Font-Names="Arial" HeaderText="Por favor corrija los siguientes
errores:" />
Trabajando con CompareValidator
Compara los valores de dos controles. Utiliza tres propiedades clave para realizar su
validación. ControlToValidate y ControlToCompare contienen
los valores a
comparar. Operator define el tipo de comparación a realizar (por ejemplo Igual o
Diferente).
Podemos especificar opcionalmente la propiedad ValueToCompare para realizar la
comparación con un valor estático, en lugar de ControlToCompare.
El control de servidor CompareValidator también puede utilizarse para realizar la
validación de Datatype (type=Date).
Por ejemplo, si la información de la fecha de nacimiento se tiene que recoger de la
página de registro del usuario, el control CompareValidator
Comentarios de: Validando controles de entrada de formularios - Curso .NET con C# (0)
No hay comentarios