Introducción a programación web Martin Esses. En las presentaciones anteriores, vimos como enviar datos a un controlador usando POST y como generar formularios.

Slides:



Advertisements
Presentaciones similares
Introducción a la programación (Clase 3) Jordi
Advertisements

El mecanismo básico de interacción entre el usuario y un sitio web esta dado por el uso de formularios html. El server envía un formulario que el browser.
Repaso desde HTML a XHTML
Lunes 18 de Febrero 2008 Material para la clase: Elprofe3.wordpress.com.
Modemmujer, Red Feminista de Comunicación Electrónica.
TUTORIAL PASO A PASO Parte 3. PASO 13: AGREGAR CUESTIONARIOS Los cuestionarios son una serie de preguntas para ser resueltas en determinado tiempo y.
BASE DE DATOS Primeros pasos
PORTAL WEB Manual de Usuario Perfil Autorizador
CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:23 PRESENTACION: BASE DE DATOS ALUMNAS: Velazquez Corona Elsa Ponciano Antonio.
Bienvenido a Marangatu'i, Módulo del Contribuyente de la SET!
Estructuras en C++ Roger Morera Fallas.
Access Bases de datos.
DISEÑO Y GESTIÓN DE BASES DE DATOS Luciano H. Tamargo Depto. de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur, Bahía Blanca INTRODUCCIÓN.
OBJETO REQUEST. El objeto Request Por qué el objeto request Funcionamiento Colecciones: – Transferencia de variables por URL –Transferencia de variables.
Los condicionales IF en PHP Programación en Internet II.
Laboratorio 7 Paginas Dinámicas Universidad de Chile – Bachillerato Curso: Computación Cristian Wilckens Patricio Bahamondes Fecha: 28 de Mayo del 2010.
GESTOR DE BASES DE DATOS RELACIONALES
Tema 6: Clases Antonio J. Sierra.
 Se llama formulario a una plantilla o página con espacios vacíos que han de ser rellenados con alguna finalidad, por ejemplo una solicitud de empleo.
Igor Santos Grueiro. Ahora tenemos datos y datos …
Ingeniero Anyelo Quintero
UNIDAD 2:Crear, abrir y cerrar una base de datos Hacer clic sobre la opción Nuevo de la pestaña Archivo. Se mostrarán las distintas opciones para nuevos.
Dirección de Planificación
PHP TODO SOBRE PHP.
Colegio de Bachilleres Plantel 13 Xochimilco-Tepepan Integrantes: Karen Elizabeth González Monroy Elizabeth De Jesús Vergara Grupo:308.
3. Espacios de trabajo. Manual de formación 2 3. Espacios de trabajo 3.1 Introducción … ……pág.45.
Control de errores visual basic
Práctica 4 Estado de la sesión. Más sobre Eventos Universidad de Oviedo Comercio Electrónico.
Clientes Web [PHP] Paso de datos::GET.. Paso de datos Toda variable existe mientras nos encontremos en el mismo documento que fue declarada. Cuando me.
Publicación de bases de datos Access en la web
Paper 418/ May/June Task C – data maniputation - ACCESS Lo primero que hay que hacer el IMPORTAR el archivo SCA6MOB.CSV que nos bajamos de Internet.
Clase 6 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182.
Ihr Logo PHP Parte 4 “manejo de formularios”. Your Logo Formularios  El proceso para el manejo de FORMULARIOS html requiere generalmente dos páginas,
Formularios La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con.
INTEGRANTES OSIRIS KATHERINE SANDOVAL LOPEZ ELKIN LEONARDO VILLAMIZAR BARAJAS JORGE MENDEZ JONATHAN BOTELLO.
“Trabajando en Notepad”
Crear un formulario de lista personalizado
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Nombre: Josselyn Peña Curso: 1° “D”. Este manual de introducción a Wordpress ha sido elaborado con la intención de ofrecer la información necesaria para.
Programación Web Dinámica Universidad Nacional del Comahue Facultad de Informática Generador de Captcha.
VALIDACIÓN PARA LA CLAVE DE ACCESO En el formulario de la clave de acceso debe haber una validación básica de que los campos no este vacíos y además puede.
EQUIPO:#3 GRUPO:304 NOMBRES: Lizbeth Nava Barón y Erick Ali Mejía.
Tema 6 – Servicio de Correo Electrónico
Visual Basic FUNCIONES Y PROCEDIMIENTOS
INTRODUCCION A LA PROGRAMACION
COMANDOS PRINCIPALES DE VISUAL BASIC 6.0
NOMBRE: KENIA MACÍAS. RECOMENDACIONES PARA HACER UN FORMULARIO En un sistema web, en muchas ocasiones es necesario obtener información del usuario y para.
Unidad 2: Tareas básicas de InfoPath 2010
Tema 11 Bases de Datos y el Lenguaje SQL
Introducción a phpMyAdmin
Ing. Vanessa Borjas. Entorno gráfico En un entorno gráfico se tiende a que cada uno de los programas esté compuesto por un formulario, aunque no es una.
Práctica Profesional PHP.
GUIA para la adscripción de centros o grupos de trabajo promotores y registro de experiencias en la Red de Experiencias de Educación para la Salud en la.
Aplicaciones para la Administración de Negocios
Cuadros Finales 2014 Dirección de informática. Nueva funcionalidad.
¿Cómo programar un Botón para agregar registros a una base de datos?
GET POST Isc. Abraham Fernández Espinosa Universidad ICEP.
CURSO DE FORMACIÓN AL PORTAL WEB DE LA UNIVERSIDAD CARLOS III DE MADRID ORACLE PORTAL Manual disponible en:
2015-BM5A. Introducción Durante años, los programadores se han dedicado a construir aplicaciones muy parecidas que resolvían una y otra vez los mismos.
Helpers en ASP.NET MVC3. Introducción Los helpers son una herramienta muy potente para generar nuestro propio código HTML dentro de las vistas. Los helpers.
Softlogia S.R.L. Formación de Recursos Humanos Java Server Faces Instructor: Martin R. Baspineiro.
Introducción a programación web Martin Esses. Formularios HTML se utilizan para pasar datos a un servidor. Un formulario HTML puede contener elementos.
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
CLASE 4 - BLOGS Y HTML GRADO DÉCIMO. ¿QUÉ ES HTML? ¿Qué es HTML? El HTML es el lenguaje que se usa para escribir las páginas web. Con este lenguaje se.
Introducción a programación web Martin Esses. Los datos almacenados en las bases de datos normalmente son mostrados en nuestras vistas. Para que nuestras.
Equipo de Profesores del Curso. Funciones de Texto.
Helpers en ASP.NET MVC3. Introducción Los helpers son una herramienta muy potente para generar nuestro propio código HTML dentro de las vistas. Los helpers.
Helpers en ASP.NET MVC.
Helpers en ASP.NET MVC.
Transcripción de la presentación:

Introducción a programación web Martin Esses

En las presentaciones anteriores, vimos como enviar datos a un controlador usando POST y como generar formularios utilizando Helpers. Tambien vimos que asp net, puede construir un objeto a partir de una petición, asociándolo directamente con el modelo definido. Por ultimo llegamos a ver que utilizando los helpers, obteníamos de forma fácil y sin escribir líneas de código propias, algunas validaciones. Por Ejemplo: Si declaramos un campo como int, ASP.NET MVC valida que no hayan caracteres alfanuméricos.

Sin embargo, lo que vemos automáticamente al usar los helpers no son validaciones, son errores. Un formulario HTML puede contener elementos de entrada como campos de texto, casillas de verificación, botones de radio, botones de envío y más. Si introducimos una cadena alfanumérica en un campo que se ha declarado como int, cuando el Model Binder debe enlazar los datos genera un error.

Los errores que el Model Binder encuentra al intentar enlazar los valores del request con las propiedades del viewmodel son guardados en el ModelState y pueden ser consultados desde el propio controlador y también desde la vista. Intentar convertir una cadena alfanumérica en un int es un error, pero hay muchos más casos en los que nos puede interesar decirle al usuario que los datos ingresados son incorrectos:

Por ejemplo: Campos Obligatorios Cadenas con un determinado formato (un ) Dos campos que deben ser iguales (contraseña y repetir contraseña) Valores que deben estar dentro de un determinado rango (puntuación del 1 al 10)

Estos son los casos cuando nos referimos a validaciones. Sin embargo aunque nosotros diferenciemos entre errores y validaciones ASP.NET MVC no lo hace. Ambos son tratados igual, es decir ambos son guardados en el ModelState. Antes de profundizar más, veamos exactamente que es el ModelState.

Que es el ModelState? El ModelState es un objeto, gestionado por el framework de ASP.NET MVC que indica cual es el estado del modelo. En este contexto por modelo entendemos el objeto que recibe un controlador (lo que generalmente llamamos view model) y por estado entendemos si es correcto o no. Correcto significa que los datos de la petición eran válidos y que el Model Binder ha podido crear un objeto y rellenarlo. Incorrecto significa que había algún dato de la petición inválido, ya sea por algún error o bien por alguna validación fallida

El ModelState es básicamente un diccionario donde: Las claves son los nombres de las propiedades de nuestro modelo. Por cada clave hay el valor que el Model Binder ha asignado a esa clave y lo que más nos importa: una colección de los errores vinculados a esa clave si los hubiese. Cuando hablamos de errores nos referimos tanto a errores como a validaciones fallidas.

La imagen muestra la composición del ModelState. La propiedad Keys contiene las claves (en este caso el viewmodel que estábamos usando era una clase con una propiedad string llamada Nombre y un int llamado Edad) y la propiedad Values donde podemos ver, por cada clave, el valor que le ha sido asignado (Value) y la colección de errores (Errors).

El ModelState contiene una propiedad llamada IsValid que nos dice si el modelo es correcto, es decir si no hay errores. Esa propiedad suele usarse de la siguiente forma: [HttpPost] public ActionResult Index(DemoModel data) { if (!ModelState.IsValid) { return View(data); } else { // Codigo normal return View("ok"); } }

Si el ModelState no es válido significa que alguna entrada del usuario no es correcta, por lo tanto devolvemos de nuevo la vista que contiene el formulario con los datos. Como vimos en la presentación anterior, si usamos los helpers para crear el formulario, estos mostrarán los errores (en color rojo con la CSS por defecto). Si el ModelState es válido eso significa que las entradas del usuario son correctas por lo que procedemos a realizar la acción que querramos.

Hasta ahora vimos el mecanismo que utiliza el framework de MVC para indicarnos que hay algún error. Ahora vamos a ver cómo podemos añadir nuestras validaciones. Aunque ASP.NET MVC es muy flexible en este punto, vamos a ver la forma más común de hacerlo: usando DataAnnotations.

Para añadir validaciones usando DataAnnotations simplemente debemos decorar la propiedad que deseemos con alguno de los atributos (algunos se encuentran en el namespace System.ComponentModel.DataAnnotations y otros en System.Web.Mvc). P.ej. si tenemos el siguiente viewmodel: public class DemoModel { public string Nombre { get; set; } public int Edad { get; set; } }

Si queremos que el Nombre sea obligatorio podemos decorarlo con [Required]: public class DemoModel { [Required] public string Nombre { get; set; } public int Edad { get; set; } }

¡Y listos! Solo con añadir el atributo Required, el framework sabe que el Nombre es requerido y si el usuario no lo ingresa se mostrará un error:

Si lo comparamos con la presentación anterior donde también se mostraban campos erróneos, veremos una pequeña diferencia: no solo se muestra el campo en rojo, sino que también hay un mensaje de error. ¿Quién agrega ese mensaje de error? Pues un helper del que todavía no habíamos hablado: Html.ValidationMessageFor Su uso es como lo de los helpers para generar formularios: con una expresión lambda le indicamos la propiedad para la cual queremos mostrar sus mensajes de error (si los hubiese).

@using (Html.BeginForm()) => => => => => => model.Edad) }

Hay varios atributos para distintas validaciones y todos se usan igual: decorando las propiedades. Si tu aplicación exige que sus usuarios tengan entre 18 y 65 años, se puede usar Range: public class DemoModel { [Required] public string Nombre { get; set; } [Range(18, 65)] public int Edad { get; set; } }

Más atributos que existen: StringLength: Para limitar el número de caracteres de un campo texto (p.ej. el password debe tener entre 6 y 15 caracteres). Compare: Para que dos campos tengan el mismo valor (p.ej. password y repetir password) RegularExpression: Para validar contra una expresión regular

Para modificar el color que se usa para mostrar los errores basta con modificar la css. Los helpers usan la clase input-validation-error para indicar que el campo de formulario está mostrando un error, así que su aspecto depende de cómo tengamos definida esa clase en la CSS. Por otro lado el mensaje que vemos es el que genera el framework por defecto, pero podemos modificarlo por uno nuestro usando la propiedad ErrorMessage que tienen todos los atributos de validación: public class DemoModel { [Required(ErrorMessage = "¡Aquí todo el mundo tiene un nombre!")] public string Nombre { get; set; } [Range(18,65, ErrorMessage = "Solo mayores de edad no jubilados")] public int Edad { get; set; } }