7
2. Formulario s WEB y Controles de Validación. Objetivos:  Elaborar formularios WEB básicos.  Identificar el uso de los controles de validación.  Crear controles de validación personalizados. Introducción: Validar los datos de un formulario WEB suele ser un dolor de cabeza, ya que esto implica muchas líneas de código, pero en ASP.NET es fácil hacerlo con el uso de pocos controles. CONTROLES DE VALIDACION DE ASP.NET Los controles de servidor de validación son un conjunto de controles que permiten validar un control de servidor de entrada asociado, como un control TextBox, y mostrar un mensaje personalizado cuando se produce un error en la validación. Cada control de validación realiza un tipo determinado de validación. Por ejemplo, se puede validar frente a un valor específico o un intervalo de valores mediante los controles CompareValid ator y RangeValid ator, respectivamente . Se puede incluso definir criterios de validación propios mediante el control CustomValidator. Dado que el mensaje de error se muestra en el control de validación, se puede controlar el lugar donde se muestra el mensaje en la página Web colocando el control de validación en el lugar deseado.

guia-2

Embed Size (px)

Citation preview

  • 5/20/2018 guia-2

    1/7

    2. Formularios WEB y Controles de Validacin.

    Objetivos:

    Elaborar formularios WEB bsicos.

    Identificar el uso de los controles de validacin. Crear controles de validacin personalizados.

    Introduccin:

    Validar los datos de un formulario WEB suele ser un dolor de cabeza, ya que esto implica muchas

    lneas de cdigo, pero en ASP.NET es fcil hacerlo con el uso de pocos controles.

    CONTROLES DE VALIDACION DE ASP.NET

    Los controles de servidor de validacin son un conjunto de controles que permiten validar un

    control de servidor de entrada asociado, como un control TextBox, y mostrar un mensaje

    personalizado cuando se produce un error en la validacin. Cada control de validacin realiza un

    tipo determinado de validacin. Por ejemplo, se puede validar frente a un valor especfico o unintervalo de valores mediante los controles CompareValidator y RangeValidator, respectivamente.

    Se puede incluso definir criterios de validacin propios mediante el control CustomValidator. Dado

    que el mensaje de error se muestra en el control de validacin, se puede controlar el lugar donde

    se muestra el mensaje en la pgina Web colocando el control de validacin en el lugar deseado.

  • 5/20/2018 guia-2

    2/7

    Tambin se puede mostrar un resumen de los resultados de todos los controles de validacin en la

    pgina mediante el control ValidationSummary.

    De manera predeterminada, la validacin se realiza al hacer clic en un control de botn, como

    Button, ImageButton o LinkButton. Para impedir que se realice la validacin al hacer clic en un

    control de botn, establezca la propiedad CausesValidation del control de botn en false. Esta

    propiedad suele estar establecida en false para un botn cancel o clear con el fin de impedir que

    se realice la validacin cuando se hace clic en el botn. Propiedades bsicas de los controles de

    Validacin

    La siguiente tabla muestra las principales propiedades que se aplican a todos los controles de

    validacin.

    Propiedad Descripcin

    ControlToValidate Id. de programacin del control de salida que evaluar el control de

    validacin. Si no es un Id. legtimo, se iniciar una excepcin.

    Display Modo en que se muestra el control de validacin especificado. Esta

    propiedad puede ser uno de los siguientes valores:

    Ninguno El control de validacin jams se muestra en lnea. Utilice esta

    opcin cuando desee mostrar el mensaje de error slo en un control

    ValidationSummary

    Esttico El control de validacin muestra un mensaje de error si se

    produce un error en la validacin. Se asigna un espacio en la pgina Web

    para el mensaje de error incluso si el control de entrada supera la validacin.

    No cambia el diseo de la pgina cuando el control de validacin muestra su

    mensaje de error. Como el diseo de pgina es esttico, si hay varios

    controles de validacin para el mismo control de entrada, stos debern

    ocupar distintas ubicaciones en la pgina.

    Dinmico El control de validacin muestra un mensaje de error si se

    produce un error en la validacin. El espacio para el mensaje de error se

    asigna dinmicamente en la pgina cuando se produce un error en la

    validacin. De este modo, varios controles de validacin pueden compartir la

    misma ubicacin fsica en la pgina.

    EnableClientScript Indica si est habilitada la validacin en el cliente. Para deshabilitar la

    validacin en el cliente en los exploradores que admitan esta funcin,

    establezca la propiedad EnableClientScript en false.

    Enabled Indica si est habilitado el control de validacin. Para impedir que el control

    de validacin valide un control de entrada, establezca esta propiedad en

    false.

  • 5/20/2018 guia-2

    3/7

    ErrorMessage Mensaje de error que se va a mostrar en el control ValidationSummary si se

    produce un error en la validacin. Si no est establecida la propiedad Text

    del control de validacin, tambin se muestra este texto en el control de

    validacin cuando se produce un error en la validacin. Se utiliza

    normalmente la propiedad ErrorMessage para proporcionar diferentes

    mensajes para el control de validacin y el control ValidationSummary.ForeColor Especifica el color en el que se va a mostrar el mensaje en lnea cuando se

    produce un error en la validacin.

    IsValid Indica si el control de entrada especificado por la propiedad

    ControlToValidate se determina como vlido.

    Text Si est establecida esta propiedad, se muestra este mensaje en el control de

    validacin cuando se produce un error en la validacin. Si no est

    establecida esta propiedad, el texto especificado en la propiedad

    ErrorMessage se muestra en el control.

    Descripcin de los controles de Validacin

    RequiredFieldValidator

    Utilice el control RequiredFieldValidator para convertir un control de entrada en un campo

    obligatorio. El control de entrada no supera la validacin si el valor que contiene no cambia con

    respecto al valor inicial cuando se realiz la validacin. Esto impide que el usuario deje el control

    de entrada asociado sin modificar. De manera predeterminada, el valor inicial es una cadena vaca

    (""), que indica que se ha de especificar un valor en el control de entrada para que ste supere lavalidacin.

    A veces, se desea tener un valor inicial que no sea una cadena vaca. Esto resulta til cuando hay

    un valor predeterminado para un control de entrada y se desea que el usuario seleccione otro

    valor. Por ejemplo, puede haber un control ListBox con una entrada seleccionada, de manera

    predeterminada, que contiene instrucciones para que el usuario seleccione un elemento de la

    lista. El usuario debe seleccionar un elemento del control, pero se desea que el usuario no

    seleccione el elemento que contiene las instrucciones. Para impedir que el usuario seleccione este

    elemento, especifique su valor como valor inicial. Si el usuario selecciona este elemento,

    RequiredFieldValidator mostrar su mensaje de error. Para especificar el valor inicial del control de

    entrada asociado, establezca la propiedad InitialValue.

  • 5/20/2018 guia-2

    4/7

    Nota La propiedad InitialValue no establece el valor predeterminado del control de entrada. La

    propiedad InitialValue no tiene que coincidir ni siquiera con el valor predeterminado del control de

    entrada. Indica simplemente el valor que el usuario no podr especificar en el control de entrada.

    El control de entrada no superar la validacin si contiene este valor al realizarse la validacin.

    Se pueden asociar varios controles de validacin al mismo control de entrada. Se puede utilizar,

    por ejemplo, un control de validacin RequiredFieldValidator para asegurar que se han escrito

    datos en un control y usar al mismo tiempo un control de validacin RangeValidator para

    comprobar que estos datos estn comprendidos en un intervalo especificado.

    CompareValidator

    El control CompareValidator permite comparar el valor especificado por el usuario en un control

    de entrada, como un control TextBox, con el valor especificado en otro control de entrada o con

    un valor constante. Tambin se puede usar el control CompareValidator para determinar si el valor

    especificado en un control de entrada se puede convertir al tipo de datos especificado por la

    propiedad Type.

    Especifique el control de entrada que desee validar estableciendo la propiedad ControlToValidate.

    Si desea comparar un control de entrada especfico con otro control de entrada, establezca la

    propiedad ControlToCompare en el nombre del control que desee comparar.

    En lugar de comparar el valor de un control de entrada con otro control de entrada, se puede

    comparar el valor de un control de entrada con un valor constante. Especifique el valor constante

    con el que desee comparar estableciendo la propiedad ValueToCompare.

    La propiedad Operator permite especificar el tipo de comparacin que se va a realizar, como

    mayor que, igual que, etc. Si se establece la propiedad Operator en ValidationCompareOperator.

    DataTypeCheck, el control CompareValidator omitir las propiedades ControlToCompare yValueToCompare e indicar simplemente si el valor especificado en el control de entrada puede

    convertirse al tipo de datos especificado por la propiedad Type.

  • 5/20/2018 guia-2

    5/7

    Nota Si el control de entrada est vaco, no se llamar a ninguna funcin de validacin y la

    validacin se realizar correctamente. Utilice un control RequiredFieldValidator para impedir que

    el usuario omita un control de entrada.

    RangeValidator

    El control RangeValidator permite comprobar si la entrada de un usuario se encuentra entre un

    lmite inferior y un lmite superior especificados. Se pueden comprobar los intervalos entre pares

    de nmeros, caracteres alfabticos y fechas. Los lmites se expresan como constantes.

    Utilice la propiedad ControlToValidate para especificar el control de entrada que se va a validar.

    Las propiedades MinimumValue y MaximumValue especifican los valores mnimo y mximo del

    intervalo vlido, respectivamente.

    La propiedad Type se utiliza para especificar el tipo de datos de los valores que se van a comparar.

    Los valores que se van a comparar se convierten a este tipo de datos antes de realizarse cualquier

    comparacin.

    Nota Si el control de entrada est vaco, no se llamar a ninguna funcin de validacin y la

    validacin se realizar correctamente. Utilice un control RequiredFieldValidator para impedir que

    el usuario omita un control de entrada. De manera similar, si el valor del control de entrada no sepuede convertir al tipo de datos especificado por la propiedad Type, la validacin tambin se

    llevar a cabo correctamente. Se recomienda encarecidamente utilizar un control

    CompareValidator adicional, con su propiedad Operator establecida en

    ValidationCompareOperator.DataTypeCheck, con el fin de comprobar el tipo de datos del valor de

    entrada.

    Nota El control RangeValidator iniciar una excepcin si el valor especificado por la propiedad

    MaximumValue o MinimumValue no se puede convertir al tipo de datos especificado por lapropiedad Type.

  • 5/20/2018 guia-2

    6/7

    RegularExpressionValidator

    El control RegularExpressionValidator se utiliza para determinar si el valor de un control de

    entrada coincide con un modelo definido por una expresin regular. Este tipo de validacin

    permite comprobar secuencias de caracteres previsibles, como las de los nmeros de la seguridad

    social, las direcciones de correo electrnico, los nmeros de telfono y los cdigos postales, entre

    otras.

    Nota Si el control de entrada est vaco, no se llamar a ninguna funcin de validacin y la

    validacin se realizar correctamente. Utilice un control RequiredFieldValidator para impedir que

    el usuario omita un control de entrada.

    La validacin se realiza tanto en el cliente como en el servidor, salvo en el caso de que el

    explorador no admita la validacin en el cliente o sta haya sido explcitamente deshabilitada

    (estableciendo la propiedad EnableClientScript en false).

    Utilice la propiedad ValidationExpression para especificar la expresin regular utilizada para

    validar el control de entrada. La sintaxis de la validacin mediante expresiones regulares presenta

    algunas diferencias en el cliente y en el servidor. En el cliente, se utiliza la sintaxis de expresiones

    regulares de JScript. En el servidor, se utiliza la sintaxis Regex. Dado que la sintaxis de las

    expresiones regulares de JScript es un subconjunto de la sintaxis Regex , se recomienda utilizar la

    primera para obtener los mismos resultados en el cliente y en el servidor.alidator

    ValidationSummary

    El control ValidationSummary permite resumir los mensajes de error de todos los controles de

    validacin de una pgina Web en una sola ubicacin. El resumen puede aparecer en forma de lista,

    lista con vietas o un nico prrafo, en funcin del valor de la propiedad DisplayMode. El mensaje

    de error que se muestra en el control ValidationSummary para cada control de validacin en la

    pgina viene especificado por la propiedad ErrorMessage de cada control de validacin. Si no est

    establecida la propiedad ErrorMessage del control de validacin, no se mostrar ningn mensaje

    de error en el control ValidationSummary correspondiente a dicho control de validacin. Tambin

    se puede especificar un ttulo personalizado en la seccin de encabezado del control

    ValidationSummary estableciendo la propiedad HeaderText.

  • 5/20/2018 guia-2

    7/7

    Para controlar si se muestra o se oculta el control ValidationSummary, establezca la propiedad

    ShowSummary. El resumen tambin se puede mostrar en un cuadro de mensaje estableciendo la

    propiedad ShowMessageBox en true.

    Ejercicios:

    1. Elaborar un formulario para registrar los alumnos de una escuela, se le piden los siguientes

    datos, nombre, apellido, edad (seleccionar entre 7 y 20 ao), telfono (usar formato 9999-

    9999), correo electrnico, verificar que todos los datos se llenen y que se cumplan las

    condiciones.

    2. Elabore una pantalla de registro de contrasea, la cual debe llevar nombre de la persona, y

    pedir la contrasea y volverla a escribir para verificar su exactitud, verificar que ningn

    campo quede vaco y que se cumplan las especificaciones.

    3. La ferretera El Clavo necesita un formulario para registrar sus productos, los datos son:

    cdigo del producto (ejemplo AA-211, que cumpla esa norma), nombre del producto,

    descripcin, precio (valor menor $1.00 y mximo $999.99), rubro (colocar un

    drowdownlist con tres opciones pero obligar a que escoja una).

    4. Elaborar un hoja de registro de control de vehculos, para lo cual se debe hacer un

    formulario que tenga la siguiente informacin, Marca del vehculo (usar un drowdownlist),

    tipo (gasolina o diesel, usar un radio button), total de kilmetros recorridos (que acepte

    solo nmeros), fecha en que sali de la institucin (usar un control de fecha) y nmero de

    placa (P-123-123).

    5. Establecer para los numerales 3 y 4 un control sumario.

    Todos los formularios deben ser realizados para sitios web.