SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos...

30
SESION 3 VALIDACIÓN

Transcript of SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos...

Page 1: SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos validar Control Propiedad de Validación HtmlInputText.

SESION 3VALIDACIÓN

Page 2: SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos validar Control Propiedad de Validación HtmlInputText.

Septiembre 2010

SESION 3: VALIDACIÓN• Qué propiedad de los controles podemos validar

Control Propiedad de ValidaciónHtmlInputText

ValueHtmlTextArea

HtmlSelect

HtmlInputFile

TextBox TextListBox

SelectedItem.ValueDropDownList

RadioButtonList

FileUpload FileName

Page 3: SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos validar Control Propiedad de Validación HtmlInputText.

Septiembre 2010

RequiredFieldValidator Asegura que el usuario no se deja un campo

CompareValidator Compara datos con:

Constante / Valor de una propiedad de otro control

Mediante un operador menor que, igual que, mayor que…

RangeValidator Comprueba que la entrada del usuario se encuentra entre dos límites.

Podemos comprobar los rangos con parejas de números, caracteres alfabéticos o fechas.

SESION 3: VALIDADORES

Page 4: SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos validar Control Propiedad de Validación HtmlInputText.

Septiembre 2010

SESION 3: VALIDADORESRegularExpressionValidator Comprueba que la entrada siga

un patrón definido como una expresión regular.

CustomValidator Comprueba la entrada de usuario mediante lógica de validación que hemos programado nosotros.

ValidationSummary Muestra los errores de validación en un formulario resumen para todos los validadores de la página.

Page 5: SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos validar Control Propiedad de Validación HtmlInputText.

Septiembre 2010

SESION 3: EJEMPLO

Page 6: SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos validar Control Propiedad de Validación HtmlInputText.

Septiembre 2010

SESION 3: PODER del BOTÓN

<asp:Button ID="Button1" runat="server"

Text="Button"

CausesValidation="true"

PostBackUrl="rDefault.aspx"

onclick="Button1_Click" /> </asp:Content>

Page 7: SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos validar Control Propiedad de Validación HtmlInputText.

Septiembre 2010

SESION 3: PODER del BOTÓN

protected void Button1_Click(object sender, EventArgs e

) { Response.Write(Page.IsValid); }

Page 8: SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos validar Control Propiedad de Validación HtmlInputText.

Septiembre 2010

SESION 3: RequiredFieldValidator <asp:Label ID="Nombre"

SkinID="obl" runat="server" Text="Nombre" ></asp:Label>

<asp:TextBox ID="TxtNombre"

SkinID="obl" runat="server"></asp:TextBox>

<asp:RequiredFieldValidator ID="RequiredFieldValidator1"

runat="server"

ErrorMessage="Error... introduzca un nombre"

EnableClientScript="true"

ControlToValidate="TxtNombre">

</asp:RequiredFieldValidator>

Page 9: SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos validar Control Propiedad de Validación HtmlInputText.

Septiembre 2010

SESION 3: RequiredFieldValidator

¿Qué ocurre si eliminamos la comprobación por cliente?<asp:TextBox ID="TxtNombre"

SkinID="obl" runat="server"></asp:TextBox>

<asp:RequiredFieldValidator ID="RequiredFieldValidator1"

runat="server" EnableClientScript="False"

ErrorMessage="Error... introduzca un nombre"

EnableClientScript="true"

ControlToValidate="TxtNombre">

</asp:RequiredFieldValidator>

Page 10: SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos validar Control Propiedad de Validación HtmlInputText.

Septiembre 2010

SESION 3: ValidationSummary

<asp:ValidationSummary ID="valSum" runat="server"

HeaderText="Por favor corrija los siguientes errores:"

Font-Names="verdana"

Font-Size="12"

/>

Page 11: SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos validar Control Propiedad de Validación HtmlInputText.

Septiembre 2010

SESION 3: CompareValidator <asp:TextBox ID="TextBox1" runat="server“> </asp:TextBox>

<asp:CompareValidator ID="CompareValidator1" ValueToCompare="0" runat="server" ErrorMessage="Error!!" ControlToValidate="TextBox1" Type="Integer" Operator="GreaterThanEqual"></asp:CompareValidator>

Page 12: SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos validar Control Propiedad de Validación HtmlInputText.

Septiembre 2010

SESION 3: RangeValidator <asp:TextBox ID="TextBox1"

runat="server“></asp:TextBox>

<asp:RangeValidator ID="R1“

runat="server" ErrorMessage=“Error!!“

MaximumValue="Z" MinimumValue="A“

ControlToValidate="TextBox1"></asp:RangeValidator>

Page 13: SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos validar Control Propiedad de Validación HtmlInputText.

Septiembre 2010

SESION 3: RegularValidatorExpression

<asp:TextBox ID="TextBox1" runat="server“> </asp:TextBox>

<asp:RegularExpressionValidator ID=“R1"

runat="server" ControlToValidate="TextBox1“

ErrorMessage=“Error!!"

ValidationExpression="\d{5}">

</asp:RegularExpressionValidator>

Page 14: SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos validar Control Propiedad de Validación HtmlInputText.

Septiembre 2010

SESION 3: Expresiones Regulares

* cero o más ocurrencias del carácter o expresión anterior.

+ una o más ocurrencias. () agrupa una subexpresión que se trata como un único elemento.

| Cualquiera de las dos partes (OR)

[ ] se corresponde con un carácter en un intervalo de caracteres válidos [a-c]

[^] se corresponde con un carácter que NO está en un intervalo dado [^a-b]

Page 15: SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos validar Control Propiedad de Validación HtmlInputText.

Septiembre 2010

SESION 3: Expresiones Regulares

. cualquier carácter excepto el salto de línea

\s carácter de espacio en blanco (ej. tab o espacio) \S cualquier carácter no espacio

\d cualquier carácter numérico

\D cualquier carácter no dígito

\w cualquier carácter alfanumérico (letra, número o carácter de subrayado)

Page 16: SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos validar Control Propiedad de Validación HtmlInputText.

Septiembre 2010

SESION 3: Ejemplos

\(? (\d{3})? \)? (?(1) [\-\s] ) \d{3}-\d{4}

(<([\w]+)[^>]*>)(.*)(<\/\\2>)

[\w-\.]+@([\w-]+\.)+[\w-]{2,4}

[\w-\.]{3,}@([\w-]{2,}\.)*([\w-]{2,}\.)[\w-]{2,4}

<a href=\s*([^\s]*)\s*>

http://es.wikipedia.org/wiki/Expresi%C3%B3n_regular

Page 17: SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos validar Control Propiedad de Validación HtmlInputText.

Septiembre 2010

SESION 3: CustomValidator

<asp:TextBox ID="TextBox1" runat="server" OnTextChanged="kkk"></asp:TextBox>

<asp:CustomValidator ID=“C1“ runat="server“

ErrorMessage=“Error!!"

ControlToValidate="TextBox1"

onservervalidate="CV"

ClientValidationFunction="CV" >

</asp:CustomValidator>

Page 18: SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos validar Control Propiedad de Validación HtmlInputText.

Septiembre 2010

SESION 3: CustomValidator

<asp:TextBox ID="TextBox1" runat="server" OnTextChanged="kkk"></asp:TextBox>

<asp:CustomValidator ID=“C1“ runat="server“

ErrorMessage=“Error!!"

ControlToValidate="TextBox1"

onservervalidate=“CustomValidator1_ServerValidte"

ClientValidationFunction="CV" >

</asp:CustomValidator>

Page 19: SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos validar Control Propiedad de Validación HtmlInputText.

Septiembre 2010

SESION 3: NAVEGACIÓN

Page 20: SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos validar Control Propiedad de Validación HtmlInputText.

Septiembre 2010

SESION 3: Generalidades

ValidateEmptyText

Validation Groups

SetFocusOnError

Page 21: SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos validar Control Propiedad de Validación HtmlInputText.

Septiembre 2010

SESION 3: NAVEGACIÓN

Hipervínculos (control HyperLink )Usos

• Para la exploración sin ningún procesamiento adicional, como en menús o listas de vínculos.

•Cuando el desplazamiento a otra página debe realizarse bajo el control del usuario.

Page 22: SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos validar Control Propiedad de Validación HtmlInputText.

Septiembre 2010

SESION 3: NAVEGACIÓN

Hipervínculos (control HyperLink )Características(2)

•Permite compartir información entre las páginas utilizando una cadena de consulta o el estado de sesión. (Le permite crear cadenas de direcciones URL y de consulta mediante programación.)

Page 23: SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos validar Control Propiedad de Validación HtmlInputText.

Septiembre 2010

SESION 3: NAVEGACIÓN

Envío entre páginas (control Button + PostBackUrl también llamado Cross Post Back)Características

•Envía la información de la página actual a la página de destino.

•Hace que la información del envío esté disponible en la página de destino.

•Requiere iniciación por parte del usuario.

•El re direccionamiento se produce a cualquier página, no sólo a aquéllas incluidas en la misma aplicación Web.

Page 24: SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos validar Control Propiedad de Validación HtmlInputText.

Septiembre 2010

SESION 3: NAVEGACIÓN

Envío entre páginas (control Button + PostBackUrl también llamado Cross Post Back)Características(2)

•Permite que la página de destino lea las propiedades públicas de la página de origen cuando estas páginas están en la misma aplicación Web.

•Hay que usar en página destino PreviousPage.IsValid

Page 25: SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos validar Control Propiedad de Validación HtmlInputText.

Septiembre 2010

SESION 3: NAVEGACIÓN

Redireccionamiento del explorador (HttpResponse.Redirect)Características•Realiza una nueva solicitud en la página de destino.

•Pasa la cadena de consulta (querystring) a la página de destino.

• Permite controlar dinámicamente y mediante programación la dirección URL de destino y la cadena de consulta.

•Permite el redireccionamiento a cualquier página, no sólo a aquéllas incluidas en la misma aplicación Web.

Page 26: SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos validar Control Propiedad de Validación HtmlInputText.

Septiembre 2010

SESION 3: NAVEGACIÓN

Redireccionamiento del explorador (HttpResponse.Redirect)Características

•Permite almacenar información de la página de origen en el estado de sesión antes del redireccionamiento para compartirla con la página de destino. 

Page 27: SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos validar Control Propiedad de Validación HtmlInputText.

Septiembre 2010

SESION 3: NAVEGACIÓN

Redireccionamiento del explorador (HttpResponse.Redirect)Uso

•Para la exploración condicional, cuando desee controlar la dirección URL de destino y cuando tenga lugar la exploración. Por ejemplo, utilice esta opción si la aplicación debe determinar a qué página debe desplazarse basándose en los datos proporcionados por el usuario.  

Transferencia del servidor (Server.Transfer)Características: Transfiere el control a una nueva página que se representa en lugar de la página de origen.El redireccionamiento sólo se produce a las páginas de destino que están en la misma aplicación Web que la página de origen.Permite leer los valores y las propiedades públicas de la página de origen.No actualiza la información del explorador con información sobre la página de destino. Al presionar los botones para actualizar o retroceder del explorador, se pueden producir resultados inesperados. UsoPara la exploración condicional, cuando se desee controlar cuándo tiene lugar la exploración y se desee obtener acceso al contexto de la página de origen. Esta opción se recomienda en situaciones en las que la dirección URL está oculta para el usuario. 

Page 28: SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos validar Control Propiedad de Validación HtmlInputText.

Septiembre 2010

SESION 3: NAVEGACIÓN

Transferencia del servidor (Server.Transfer)Características: •Transfiere el control a una nueva página que se representa en lugar de la página de origen.

•El redireccionamiento sólo se produce a las páginas de destino que están en la misma aplicación Web que la página de origen.

•Permite leer los valores y las propiedades públicas de la página de origen.

•No actualiza la información del explorador con información sobre la página de destino. Al presionar los botones para actualizar o retroceder del explorador, se pueden producir resultados inesperados. UsoPara la exploración condicional, cuando se desee controlar cuándo tiene lugar la exploración y se desee obtener acceso al contexto de la página de origen. Esta opción se recomienda en situaciones en las que la dirección URL está oculta para el usuario. 

Page 29: SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos validar Control Propiedad de Validación HtmlInputText.

Septiembre 2010

SESION 3: NAVEGACIÓN

Transferencia del servidor (Server.Transfer)Características(2): •No actualiza la información del explorador con información sobre la página de destino. Al presionar los botones para actualizar o retroceder del explorador, se pueden producir resultados inesperados.

 UsoPara la exploración condicional, cuando se desee controlar cuándo tiene lugar la exploración y se desee obtener acceso al contexto de la página de origen. Esta opción se recomienda en situaciones en las que la dirección URL está oculta para el usuario. 

Page 30: SESION 3 VALIDACIÓN. Septiembre 2010 SESION 3: VALIDACIÓN Qué propiedad de los controles podemos validar Control Propiedad de Validación HtmlInputText.

Septiembre 2010

SESION 3: NAVEGACIÓN

Transferencia del servidor (Server.Transfer)Uso: •Para la exploración condicional, cuando se desee controlar cuándo tiene lugar la exploración y se desee obtener acceso al contexto de la página de origen.

• Esta opción se recomienda en situaciones en las que la dirección URL está oculta para el usuario.